Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: help me about sprites!  (Read 4512 times)

0 Members and 1 Guest are viewing this topic.

herbertbahia

  • Newbie
  • *
  • Posts: 6
    • View Profile
help me about sprites!
« on: July 17, 2020, 12:20:19 am »
hello guys i'm brazilian c ++ student and i'm having the need to embed the sprites of my projects in the variables, i don't want to depend on a .png image in my project folder and i still don't know any way to do that, if anyone can help me explain how do I embed the sprites in the variables to avoid .png, or if someone can send me a project link of this type on github so I can see and understand how I do it I am very grateful since I need it a lot. :'(

eishiya

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: help me about sprites!
« Reply #1 on: July 17, 2020, 07:45:52 pm »
You can use sf::Texture::loadFromMemory to achieve this. This function takes a byte array and the array's length as parameters. If you hard-code the array with the binary data for your image, you'll have essentially embedded the image into your code.

An example from my code:

Code: [Select]
cursor.defaultTexture.loadFromMemory("\x89\x50\x4e\x47\xd\xa\x1a\xa\x0\x0\x0\xd\x49\x48\x44\x52\x0\x0\x0\x6\x0\x0\x0\x8\x8\x6\x0\x0\x0\xda\xc6\x8e\x38\x0\x0\x0\x37\x49\x44\x41\x54\x8\xd7\x65\xcc\xd1\xa\x0\x20\x8\x43\xd1\xbb\xfd\xff\x3f\xdb\x4b\xd9\x32\x41\x90\x1d\x19\x40\xed\x7d\xc6\x0\x55\xc5\x44\x9f\x63\xa2\xf3\x2b\xd1\xb3\xfb\xe0\x7\x92\x6e\x95\xa4\xe\xda\xb3\x25\x61\x1\x50\x1f\x13\x6\x81\x80\xaf\xc6\x0\x0\x0\x0\x49\x45\x4e\x44\xae\x42\x60\x82", 112);
That long string of hex values is a char array representing a small PNG image, and 112 is the number of bytes in that array, i.e. the original file's size.

I'm not aware of any existing tool that converts arbitrary files into byte strings like this, so I wrote my own in JavaScript that converts files into escaped hex strings like the one above. You can find it here. It runs in the browser, but I recommend saving that page so you can run it locally.


I only recommend doing this for very small, fixed files, the bare minimum needed to communicate to the user that the main data failed to load in the event that happens, or only if the sum size of your images is very small even when decompressed into RAM and VRAM. Including the art in your code means that the data can't be loaded and unloaded dynamically, which increases your RAM/VRAM usage. For games with larger or many textures, this can lead to running out of memory even on good hardware.
« Last Edit: July 17, 2020, 08:07:46 pm by eishiya »

herbertbahia

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: help me about sprites!
« Reply #2 on: July 17, 2020, 09:14:17 pm »
awesome, thank you so much for the help it worked, now i need to find a good way to write them and count how many. ;D

Hapax

  • Hero Member
  • *****
  • Posts: 3379
  • My number of posts is shown in hexadecimal.
    • View Profile
    • Links
Re: help me about sprites!
« Reply #3 on: July 20, 2020, 11:11:38 pm »
If you're using Windows, you can use this that I wrote for myself:
http://www.mediafire.com/file/5ttatyq313bzenb/HppDataArrayFromFileBytes.exe/file

It creates a header file (.hpp) - with include guards - that contains a byte array.

For example, this (after first downloading):
https://www.sfml-dev.org/download/goodies/sfml-icon-small.png
becomes this:
#ifndef C_USERS_HAPAXIA_DOCUMENTS_TEMP_SFML_ICON_SMALL_PNG_HPP
#define C_USERS_HAPAXIA_DOCUMENTS_TEMP_SFML_ICON_SMALL_PNG_HPP

// 21:07:16
// C:\Users\Hapaxia\Documents\temp\sfml-icon-small.png
// 16 items per row
const unsigned char data[21279] =
{
//    0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15
    137,  80,  78,  71,  13,  10,  26,  10,   0,   0,   0,  13,  73,  72,  68,  82, // 0
      0,   0,   1,   0,   0,   0,   1,   0,   8,   6,   0,   0,   0,  92, 114, 168, // 1
    102,   0,   0,   0,   1, 115,  82,  71,  66,   0, 174, 206,  28, 233,   0,   0, // 2
      0,   9, 112,  72,  89, 115,   0,   0, 109,   9,   0,   0, 109,   9,   1, 182, // 3
    198, 137, 115,   0,   0,   1, 100, 105,  84,  88, 116,  88,  77,  76,  58,  99, // 4
    111, 109,  46,  97, 100, 111,  98, 101,  46, 120, 109, 112,   0,   0,   0,   0, // 5
      0,  60, 120,  58, 120, 109, 112, 109, 101, 116,  97,  32, 120, 109, 108, 110, // 6
    115,  58, 120,  61,  34,  97, 100, 111,  98, 101,  58, 110, 115,  58, 109, 101, // 7
    116,  97,  47,  34,  32, 120,  58, 120, 109, 112, 116, 107,  61,  34,  88,  77, // 8
     80,  32,  67, 111, 114, 101,  32,  53,  46,  52,  46,  48,  34,  62,  10,  32, // 9
     32,  32,  60, 114, 100, 102,  58,  82,  68,  70,  32, 120, 109, 108, 110, 115, // 10
     58, 114, 100, 102,  61,  34, 104, 116, 116, 112,  58,  47,  47, 119, 119, 119, // 11
     46, 119,  51,  46, 111, 114, 103,  47,  49,  57,  57,  57,  47,  48,  50,  47, // 12
     50,  50,  45, 114, 100, 102,  45, 115, 121, 110, 116,  97, 120,  45, 110, 115, // 13
     35,  34,  62,  10,  32,  32,  32,  32,  32,  32,  60, 114, 100, 102,  58,  68, // 14
    101, 115,  99, 114, 105, 112, 116, 105, 111, 110,  32, 114, 100, 102,  58,  97, // 15
     98, 111, 117, 116,  61,  34,  34,  10,  32,  32,  32,  32,  32,  32,  32,  32, // 16
     32,  32,  32,  32, 120, 109, 108, 110, 115,  58, 120, 109, 112,  61,  34, 104, // 17
    116, 116, 112,  58,  47,  47, 110, 115,  46,  97, 100, 111,  98, 101,  46,  99, // 18
    111, 109,  47, 120,  97, 112,  47,  49,  46,  48,  47,  34,  62,  10,  32,  32, // 19
     32,  32,  32,  32,  32,  32,  32,  60, 120, 109, 112,  58,  67, 114, 101,  97, // 20
    116, 111, 114,  84, 111, 111, 108,  62, 119, 119, 119,  46, 105, 110, 107, 115, // 21
     99,  97, 112, 101,  46, 111, 114, 103,  60,  47, 120, 109, 112,  58,  67, 114, // 22
    101,  97, 116, 111, 114,  84, 111, 111, 108,  62,  10,  32,  32,  32,  32,  32, // 23
     32,  60,  47, 114, 100, 102,  58,  68, 101, 115,  99, 114, 105, 112, 116, 105, // 24
    111, 110,  62,  10,  32,  32,  32,  60,  47, 114, 100, 102,  58,  82,  68,  70, // 25
     62,  10,  60,  47, 120,  58, 120, 109, 112, 109, 101, 116,  97,  62,  10, 220, // 26
    199, 166, 109,   0,   0,  64,   0,  73,  68,  65,  84, 120,   1, 237, 125,   7, // 27
     96,  28, 197, 185, 255, 236, 238,  21, 117, 219, 178, 213, 220, 123, 165, 247, // 28
    222, 171,  13,   4, 200, 131,  36,  47,   9,  73,  72,  33, 229, 133, 116, 146, // 29
    247,  79,  51,   9, 239, 165, 144, 144,  66,  72, 232, 253, 133,   4,  39, 128, // 30
     77,  11, 113, 192, 166, 153, 234, 128, 141, 187, 229,  38,  91, 221, 146, 172, // 31
    174, 171, 251, 255, 253, 230,  36,  89,  24, 181, 155, 221, 189, 189, 147, 118, // 32
    228, 179,  78, 119,  59,  51, 223, 124,  51, 243, 205, 215,  71,   8, 175, 120, // 33
     24, 240,  48, 224,  97, 192, 195, 128, 135,   1,  15,   3,  30,   6,  60,  12, // 34
    120,  24, 240,  48, 224,  97, 192, 195, 128, 135,   1,  15,   3,  30,   6,  60, // 35
     12, 120,  24, 240,  48, 224,  97, 192, 195, 128, 135,   1,  15,   3,  30,   6, // 36
     60,  12, 120,  24, 240,  48, 224,  97, 192, 195, 128, 135,   1,  15,   3,  30, // 37
      6,  60,  12, 120,  24, 240,  48, 224,  97, 192, 195, 128, 135,   1,  15,   3, // 38
     30,   6,  60,  12, 120,  24, 240,  48, 224,  97, 192, 195, 128, 135,   1,  15, // 39
      3,  30,   6,  60,  12, 120,  24, 240,  48, 224,  97, 192, 195, 128, 135,   1, // 40
     15,   3,  30,   6,  60,  12, 120,  24, 240,  48, 144, 166,  24, 208, 210,  20, // 41
     46,  15, 172,  20,  96,  96, 169, 185,  84,  95,  40,  54, 250, 218, 119, 215, // 42
    235,  66,  76,  23, 225, 134, 247,  98, 215,  29, 183,  54, 146, 130, 174, 189, // 43
     46, 210,   4,   3,  30,   1,  72, 147, 137, 112,  26, 140, 191, 183,  95,  89, // 44
     22, 234,  52,  23, 104, 113, 113, 152, 166, 107, 243, 132,  22, 159, 110, 154, // 45
     90,  17, 250, 205,  19, 166, 233,  23,   2,  52,  64,  55,  59, 176,  32, 154, // 46
     77,  33, 170, 117,  77, 219,  97,  10, 115, 189, 238, 247, 173, 199,  19, 229, // 47
     87, 107, 203, 194,  78, 195, 232, 181, 159, 122,  12, 120,   4,  32, 245,  56, // 48
     79,  73, 143, 207, 152,  23,   7,  91, 155, 178, 143,  19, 102, 252,  60,  83, // 49
    104, 231,  96,  83,  47, 210, 117,  49, 222,  31,  52, 100, 255, 102, 220,  20, // 50
    241, 184, 192, 222, 199,  55, 248, 199, 162,  97,  53, 128,  56,  36,  94, 120, // 51
     31, 199,  51, 209, 174, 120,  72,  24, 218,  86,  60, 247, 178, 102, 154,  43, // 52
    244, 152, 127, 205, 213, 197, 203, 218,  18,  53, 188, 255,  51,  29,   3,  30, // 53
      1, 200, 244,  25,  60,   4, 254, 191, 212,  95, 121, 140,  48, 204,  43, 177, // 54
    175,  47, 213, 132, 121, 120,  32, 219, 208, 226,  81,  83, 196, 240, 226, 134, // 55
     78, 182, 144,  40,  24,  62,  29,  47,  77,  68, 195, 113, 208,  19, 115,  43, // 56
    218, 120,  20, 220, 195,  35,  31, 157, 240, 248, 230, 100, 219, 243, 158,  79, // 57
     47,  12, 120,   4,  32, 189, 230,  67,   9, 154,  71, 235, 174, 202, 139, 107, // 58
    209,  15, 225, 132, 191, 198, 212, 204,  51, 113, 202,   7,  99,  17, 110, 122, // 59
    108, 216, 228, 247, 252, 160,  48,  24, 126,  93, 248, 240,  10, 119, 197, 218, // 60
    192,  57,  44,   7,  89, 185, 245,  99,  19, 150, 191,  49, 104,  37, 239, 203, // 61
    180, 197, 128,  71,   0, 210, 118, 106, 134,   6, 236, 193, 214,  43, 138, 131, // 62
     81, 243, 147, 241, 184, 246,  89, 159,  95,  91, 160, 225, 184, 142, 132,  98, // 63
    182, 111, 250, 254,  32, 209,  33,  42, 248, 131,  32,   4, 161,  56, 149, 134, // 64
    127, 139, 198, 181,  95, 125, 178, 232, 177, 127, 247, 247, 172, 247,  89, 250, // 65
     98, 192,  35,   0, 233,  59,  55,   3,  66, 246, 231, 218, 203,  74,  52, 195, // 66
    247,  89,  77, 143,  95, 135, 211, 126, 106, 148, 167, 125,   4,   2, 189,  11, // 67
    133,  34, 130,  63, 203, 160, 120, 208,   1,  37, 194, 189, 225, 206, 200, 205, // 68
    215,  76, 124, 178, 194,   5,  80, 188,  46,  21,  48, 224,  17,   0,   5, 164, // 69
    185,  85, 229, 209,  29,  87, 141,  49,  11,  98, 159,  51, 117, 243, 107,  56, // 70
    125, 167,  80,  38, 167, 108, 159,  14, 133, 202, 195,  64, 150,  14,  14, 196, // 71
    172, 132, 194, 240, 103, 245,  77,  93, 119,  95,  63, 231, 217,  80,  58, 192, // 72
    230, 193,  48,  48,   6,  60,   2,  48,  48, 110, 210, 230, 155,  59, 222,  62, // 73
    214,  95,  48, 125, 202, 199, 113, 218, 222, 224,  11,  24,  11, 120, 218,  83, // 74
    190,  79, 199,  34,  21, 134, 126,  42,  12, 205, 151, 162, 145, 232, 119,  63, // 75
     81, 250, 228, 235, 233,   8, 167,   7,  83,   2,   3,  30,   1,  72, 243, 149, // 76
    240,  80, 245, 229, 103, 249, 252,  98,  41, 100, 252,  51, 105, 182, 115, 139, // 77
    213,  79,  22,  77,  52,  55, 198,  99, 241,  14, 232,  39, 126, 219, 177,  63, // 78
    246, 243, 207, 206,  95, 209, 154, 108,  27, 222, 243, 206,  99, 192,  35,   0, // 79
    206, 227,  88, 169, 135, 255, 171,  90,  60,  77,  15,   6, 126,   8,  35, 253, // 80
    167, 112, 170, 250,  34, 161, 244,  60, 241,   7,  27,  92, 175,  88, 208,  21, // 81
    127,  59,  30, 143, 127, 235, 227, 197,  43,  94,  26, 236, 121, 239, 187, 212, // 82
     99, 192,  35,   0, 169, 199, 249, 160,  61, 146, 221, 207, 159,  54, 249,  90, // 83
    104, 244, 127,   4,  57, 127,  34, 204, 109, 176, 189,  15,  90,  37, 237, 191, // 84
    164, 181,  32,  30,  19, 157, 241, 104, 252, 230, 154, 112, 224, 231, 223, 156, // 85
    178, 172,  51, 237, 129,  30,  37,   0, 122,   4,  32, 141,  38, 250, 254, 170, // 86
     37, 199,   6, 252, 254,  95, 250,   2, 218,  57,  61, 206,  59, 105,   4, 158, // 87
     37,  80,  36,  55,   0,  66,   0,  51, 229, 203, 209, 120, 236, 171, 159,  44, // 88
    121, 106, 157, 165,   6, 189, 202, 182,  96, 192,  35,   0, 182, 160, 209,  90, // 89
     35, 119, 188, 125, 105,  78, 222,  84, 227, 155, 134,  46, 110, 128, 163,  77, // 90
     62,  79, 253, 145,  90,   2,  52,  25,  70,  98,  77, 241, 152, 249, 253, 143, // 91
    151, 172, 184,  29, 227,  76,  15,  51, 198,  72,  69, 248,  16, 227, 242,   8, // 92
    192,  16,   8, 114, 250, 235,  63, 215,  94, 114, 178, 102,  24, 183, 248,   2, // 93
    250,  73, 148, 243, 233, 174,  59, 146,  39, 133, 187, 221,  48,  52, 161, 195, // 94
    181,  24, 222, 138, 127, 137, 104, 177, 111, 127, 106, 194,  83, 149,  78, 227, // 95
    217, 107, 191, 127,  12, 140, 228, 181, 214, 255, 136, 211, 228, 211, 251, 118, // 96
    157, 149, 149, 149,  91, 240, 109,  83, 211, 190,   7,  63, 251, 220,  76,  84, // 97
    242,  89,  66,  37,  86,  94,  16, 220,  64,  36,  28, 223,   1, 119, 229, 235, // 98
     63,  94, 188, 252,  25,  75, 237, 121, 149, 149,  48, 224,  17,   0,  37, 180, // 99
     89, 171, 244,  64, 229, 101,  71,  67, 206, 255, 173,  63, 160, 159,  17, 237, // 100
     62, 245, 173, 181, 152, 185, 181,  25,  87,   0, 174,  32,   2, 145, 224, 102, // 101
    127,  40, 112, 211, 213, 158, 130,  48, 165, 147, 233,  17, 128,  20, 162, 123, // 102
    169,  41, 244, 217, 181, 151, 126,  69,  55, 244, 159,  66, 214,  31,  19, 113, // 103
     85, 214,  71, 180, 127, 159, 177,  39,  22, 130,  59, 203, 129,  10,  66,  90, // 104
     10, 224, 217, 184,  58,  30,  21,  95, 249,  68, 217, 242,  77, 125,  64, 243, // 105
    222,  58, 136,   1, 119, 102, 220, 193,   1, 165, 107, 211, 180, 235,  11, 159, // 106
    239,  22, 159, 223, 184, 146,  94, 124,  56, 241,  82,   6,  42,  34, 246,  68, // 107
    220, 132,  57,  17, 191,  17, 237, 143, 212,  31,   6,  66, 252,   3,  66, 215, // 108
    252, 242, 111, 124, 139,   0, 162, 168, 136, 153,  17, 188, 139, 226,  57, 234, // 109
     33, 248,  99, 224,  25,  36,  10, 193, 187,  84,  20,  42,   8, 161,  23, 168, // 110
    143, 153, 241, 239, 124, 162, 120, 197,   3, 169, 232, 115, 180, 247, 145, 154, // 111
    153,  29, 229,  88, 126, 184, 234,  67,  87,  96, 175, 253,  22, 236, 238, 212, // 112
    112, 103, 106,  52, 252, 137,  77, 207,  64,  61,  93, 100,  27,  99, 197,  24, // 113
     99, 170,  40, 244, 207,  18,  99, 253,  83,  69, 190,  81,  38, 130,  90, 190, // 114
    240, 235, 217, 114, 147, 199, 177, 241, 163, 102,  72, 132, 205,  54, 209,  17, // 115
    111,  20,  45, 209,  74, 209,  28, 173,  16,  77, 145, 221, 162,  45,  86,  43, // 116
     34, 102,  39,  90, 193, 143, 230,  67, 123, 206,  46,  25, 230,  29,  96,  23, // 117
    102,  52, 126, 119,  52, 234, 251, 222, 167,  38,  63, 222,  48, 202, 151, 143, // 118
    163, 195, 119, 118,  54,  29,   5,  61, 253,  27, 127, 176, 230, 130,  92, 205, // 119
    204, 250, 137, 225,  23,  95, 195, 170,  54,  82, 225, 198,  27, 199,  73, 142, // 120
     72,   1, 145, 163,  23, 138, 210, 224,  81,  98,  74, 214, 137, 162, 216, 191, // 121
     72, 228,  26, 204, 254, 149,  92, 137, 154,  93,  32,   6, 251,  68, 117, 120, // 122
    157, 216, 219, 245, 186, 104, 136, 108, 151, 196, 192, 144, 156,   3,  57,   3, // 123
    135,  10,  86, 101,  48,  27,  10, 194,  80, 124,  61, 104, 211, 151,  63,  49, // 124
    105, 197, 171,  14, 245,  52, 234, 155, 245,   8, 128,  67,  75, 224, 161, 125, // 125
    151,  28, 169, 249, 245,  63,   6, 130, 250,  41, 210, 155, 207,  97, 142, 159, // 126
     27, 159, 167, 126, 161, 127, 166, 152, 153, 125, 158, 152, 158, 117,  26,  54, // 127
    125, 177, 109, 163, 163,  88, 208,  16, 217,  38, 202,  59,  87, 138,  61, 157, // 128
    175, 192, 173, 175,  73, 138,  17,  20,  20, 156,  42, 212,  11,  32, 218, 177, // 129
     29, 226, 210, 210,  96, 105, 214, 111, 144, 151,  48,  53, 236, 147,  83,   3, // 130
     74, 195, 118, 157, 155, 189,  52,  28, 108, 170,  64, 122, 176, 234, 146, 207, // 131
    195, 127, 255,  23,  62, 159,  62,  46, 140,   4,  29,  78,  22,  19, 178,  61, // 132
     79, 124, 178, 247,  11, 114,  47, 199, 198,  63,  93, 248, 180,  44,  39, 187, // 133
     20, 173, 209,  42, 177, 185,  99, 133, 216, 209, 249,  47,  17, 142, 183,  73, // 134
     66, 224,  84, 135,  76,  60,   2,  31,   9,  40,   8,  99,  79, 196,  98, 226, // 135
    107,  94, 174,   1, 123,  49, 237,  17,   0,  27, 241, 249,  96, 249,  21, 197, // 136
     90, 110, 236, 102, 195, 175,  93,  99,  66, 201,  23, 195, 203,  41,   4, 243, // 137
     68, 142, 153,  97, 200, 243, 165,  98,  81, 222, 135, 197, 172, 156, 243, 133, // 138
     95, 203, 182, 113,  52,  67,  55, 213,  24, 217,  33, 214, 181, 254, 159, 168, // 139
    128, 120, 192, 108,  68,  84,  46, 218,  93, 200,  56,  17, 135, 200, 109,   8, // 140
     15, 194, 248, 174,  72,  36, 246, 245,  79,  79, 122, 122, 133, 221, 253, 140, // 141
    214, 246, 156,  90, 159, 163,  14, 159, 247,  85,  95, 114, 150,  95, 215, 111, // 142
      3, 219, 186,  48,  68,  69, 159, 131,  44,  63, 149, 118, 212, 224, 207, 201, // 143
    185,  64,  28, 145, 247,  49, 145,  99, 140, 119,  21, 223,  59,  58, 159,  23, // 144
    255, 110, 121,  64,  42,  12, 125,  90, 208,  49,  88,  18,  62,   3,  80,  15, // 145
     70, 205,  95,   7, 163,  89,  55, 122,  62,   3, 214,  81, 237,  17,   0, 139, // 146
     56, 100, 244,  94, 246, 228, 178, 111,  27, 154, 254,  67, 205,  16, 217, 204, // 147
    210, 227, 156, 166,  28, 105, 186, 161, 173,  31, 239, 159,  35, 142,  43, 248, // 148
    172, 152,  24,  60, 198,  34, 244, 246,  85, 111, 141, 213, 136, 183, 155, 239, // 149
     20, 123, 186, 214,  72, 107,   1, 249,   1, 251,  11,  56,  42, 112,  26,  52, // 150
     23, 130,  19, 120,   9,  33, 198,  95, 185, 166, 244, 233,  13, 246, 247,  51, // 151
    122,  90, 244,   8, 128, 133, 185, 190, 119, 207, 146, 153, 240, 230, 251,  61, // 152
     78, 253,  37, 112, 105,  21, 100, 251, 157, 226, 249, 169, 228, 227, 166, 154, // 153
    151, 187,  68,  28, 157, 127, 141,   8, 232, 121,  22,  32, 119, 166,  42, 149, // 154
    144, 155, 219,  87, 136, 119,  91,  30, 132,  73, 177,   3, 186,   1, 220,  55, // 155
     98, 119, 233, 150,   9, 168,  32,   4,  39, 176,  63,  22,  23, 223, 185, 166, // 156
    236, 201, 251, 237, 238, 102, 180, 180, 231,  17,   0, 197, 153, 190, 127, 239, // 157
    165,  31, 246, 251, 197, 111, 140, 128,  62, 197, 105, 219,  62,  79, 253,   2, // 158
    223,  68, 156, 250, 159,  23, 211, 178,  79,  85, 132,  56, 117, 213, 234, 194, // 159
    155, 196, 235,   7, 254,   0, 171,  65,  57,  20, 146, 206, 137,   4,  58, 131, // 160
    138, 160,  36, 140, 198, 226, 247, 154,  49, 255,  13, 158, 207,  64, 242, 115, // 161
    236,  17, 128,  36, 113, 118,  91, 221,  89, 121, 249, 209, 252, 159, 104, 134, // 162
    246,  53, 234, 189, 156, 181, 237, 147, 229,  15, 139, 169,  89,  39, 137, 147, // 163
    198, 126,  69, 228,  25,  37,  73,  66, 235, 222, 227,  93, 241,  22, 136,   4, // 164
    119, 139, 237,  29, 255, 132,  72,  96,  72, 238, 197,   9, 104,  48,   7, 194, // 165
     79,   5,  97,  40, 254,  94,  20,  34, 193, 103,  38,  62, 253, 178,  19, 253, // 166
    140, 212,  54,  61,   2, 144, 196, 204, 222, 183, 111, 241,  81,  62, 159, 241, // 167
     39,  25, 186, 203,  76,  61,  14,  42, 250, 168,  69, 164,  43, 238, 225, 249, // 168
     87,  65, 209, 247, 209, 110,  47, 188,  36, 128,  77, 147,  71, 183, 182,  63, // 169
     35, 214, 182, 220,  11,   7, 162,  46, 140, 199, 185, 229,  70,  83,  33,  66, // 170
    169,  59, 204, 168, 121,  99, 214, 196, 236,  95, 123,  62,   3, 195,  91,   0, // 171
     78, 104, 106, 134, 215, 115, 134,  61, 245, 192, 190,  75, 175, 243, 251, 141, // 172
     23, 224, 170, 122,  82, 184, 163,  59,  77,  23,   9, 128,  67,  47, 222, 217, // 173
     23, 212, 243, 197, 194, 220,  43,  50, 118, 243, 115, 138, 231, 229,  46, 150, // 174
    174, 199, 244,  87, 112,  10,  87, 108, 151,  81, 149,  80,  65, 228,  32,  25, // 175
    233,  47,  66,  53, 157, 143, 221, 183, 235, 162, 233, 236, 223,  43, 131,  99, // 176
    192,  35,   0, 131, 227,  71,  60,  88, 126,  65, 241,  67,  85,  75,  30,  66, // 177
    248, 238, 237, 200, 205,  55,  46,  17, 193, 231, 208, 174, 239, 179,  67, 120, // 178
     90, 118,  70,  27, 165, 247, 221,  16,  32, 166, 245, 215, 205, 209, 189,  50, // 179
    182, 128, 177,   4, 142,  82,   0, 224,  14,  89, 136, 121, 101,  25,  29, 135, // 180
     46, 243, 103, 249,  86,  63,  80, 185, 248,  67, 105, 141, 156,  52,   0, 206, // 181
     35,   0, 131,  76, 194, 131, 251,  46,  62,  71, 228,   6,  86, 251, 130, 198, // 182
     39, 144, 198,  74,  46, 176,  65,  30, 183, 253, 171, 152,   8, 139, 154,  80, // 183
    102,  91, 185, 234, 195,  91,  68,   8, 222, 130, 142, 153,  71,  62, 128, 117, // 184
     83,  72, 165, 172, 174,  77,  67, 216, 245, 223,  31, 168,  92, 114, 243, 131, // 185
    235,  46, 200, 253, 192,  99, 222,   7,  18,   3,  30,   1, 232, 103,  33, 208, // 186
    182, 127, 255, 190,  37, 223,  71, 238, 170, 167, 161, 105,  94,  64, 199,  30, // 187
    202, 251, 206, 159, 251, 239, 239,   3, 201, 179,  68, 109, 104,  35,  32, 100, // 188
    207, 153,  89, 106,  66, 239,   1, 122, 254, 188, 127, 108,  78, 255,  13, 175, // 189
     65, 134,  92,  27, 240,  25, 248, 182,  40,  10, 252, 227, 190, 189, 139,  15, // 190
    207,  76,  12,  58,  11, 181,  71,   0,  14, 193, 239, 253,  21,  23, 207, 202, // 191
    153,  88, 182,  60,  16,  52, 110,   2, 203, 159,  37, 101,  75, 167,  87, 235, // 192
      0, 237, 211, 181, 150,  33, 185,  29, 177, 198,  67, 160, 204, 140,  63, 105, // 193
    190, 172,  15, 111,   5, 243, 143,  48, 226,   1, 198, 232, 228, 231,  76, 167, // 194
     30, 130, 190,   6, 174, 217, 167,  33,  54,  99, 213, 253, 123, 151, 124,  54, // 195
     51,  48, 151,  58,  40,  61,   2, 208,   7, 215, 247, 237,  89, 114, 149, 225, // 196
     51,  86, 195, 182, 127, 113,  34,  31,  63,  87, 173, 123, 133, 142,  63,  93, // 197
    177,   3, 162,  33,  92, 238,  30,  16,  22, 122, 102,  40, 113, 107, 164,  26, // 198
    163, 112, 119, 153,  69, 186,  64,   9,  76,  49,  30, 174, 196, 119, 131, 179, // 199
    187, 239, 142, 173, 151,  78, 176,  48, 172,  17,  85, 213, 221, 153,  73,  19, // 200
     84, 222, 179, 229, 178, 252, 251,  43,  47, 249,  29,  20, 125, 127, 133, 238, // 201
    109, 178, 211, 142,  61, 201,  12, 155,  25, 122, 200,  70, 103,  98, 169,  11, // 202
    109, 150, 249,   3,  82,  39, 255,  15, 140,  37, 102,  96,  98,  38,  38,  36, // 203
     34, 253, 116,  86, 190, 185, 250, 254, 138, 197, 103,  12, 252, 244, 232, 249, // 204
    102, 212,  19, 128, 123, 119,  95, 120, 140,  47,  63, 254, 207,  64,  80, 187, // 205
     30, 209, 123,  90,  20, 139,  36,  33, 179, 166, 199, 255, 244,   5, 168,  13, // 206
    111,   4,  76,  56, 197,  50, 172, 212, 132, 214,  75, 136, 211,   3, 147, 192, // 207
     32,  20,  57,  93, 157,  81, 161,  27,  98, 145, 230, 211, 168,  23, 248, 222, // 208
     82, 243,  44, 166,  57,  26, 181, 101,  84,  19, 128, 251,  42,  22, 127, 209, // 209
    240, 251, 158,  55, 124, 226,  36, 202, 138,  38, 114, 242,  59,  41, 147, 170, // 210
    180,  77,   2, 112,  32,  92,  33, 218, 162, 117,  25, 181,  72,  35, 241,  14, // 211
    200, 255, 219, 193,  80,  33,  68, 216,   5, 249, 127, 176,  62, 187, 125,   6, // 212
    178, 161, 231, 249, 217, 244, 170, 156,  81, 237,  51,  48,  42,   9, 192, 109, // 213
     27,  23, 151,  66,  33, 244,  48, 236, 197, 127, 194, 174,  26, 235, 100,  78, // 214
    254, 131, 250, 111, 181, 253,  75, 127, 128,  80, 188,  85, 236,  15, 111,  83, // 215
    107, 192, 165,  90,  77, 145,  61, 162,  29,  68, 203,  90, 142,   0,  98, 207, // 216
     25, 206, 135,  23, 176,  80, 207,   3, 231, 174,  75, 245, 160, 241, 226,   3, // 217
    123,  47, 185, 194,  37,  84, 185, 218, 237, 168,  35,   0, 247, 239, 185, 232, // 218
    220, 188, 177,  98, 181,  63,  75, 255, 120, 183, 169, 200, 177,   9,  96, 150, // 219
     93,  95, 119, 246,  93,  43, 157, 112,  19, 244, 176, 211,  86, 218,  73, 101, // 220
     93, 138,  45, 180,   2,  88,  41, 204, 121, 192, 168,  71, 226, 209, 169,  66, // 221
     34, 128,  16, 227, 169, 154,  97,  46, 131, 130, 240,  87, 204, 227, 232,  84, // 222
     95, 233, 216, 238, 168,  33,   0, 143, 110,  92,  20, 192, 169, 255,  35, 205, // 223
    111,  60, 165, 235, 250,  60, 169, 232, 115,  72, 201, 207, 115, 139, 139, 127, // 224
     66,  96, 142, 184, 160, 232,  38, 252, 158, 103, 105,  17, 243,  20, 173,  11, // 225
    109, 129,  12,  27,  77, 199,  53, 212,  47,  76,  53,  93,  27, 192, 187, 168, // 226
    251, 254, 115, 172,  99, 125, 211, 196, 226, 226,  95, 138, 201,  89, 199,  73, // 227
    124,  38, 184, 169, 126, 187, 179, 244,  33,   3, 186, 232,  51, 128,  16, 227, // 228
    111,  33, 170, 240, 185,  59, 183,  45,  62, 202,  82, 131,  25,  84, 121,  84, // 229
     16, 128, 187, 247,  94,  56, 187,  99, 236, 180, 229,  96, 249, 111, 196,  68, // 230
    103, 201, 216, 125, 138, 251,  14, 188, 152, 127,  63, 142, 187, 176, 231, 231, // 231
     93,  42,  46,  42, 254, 185,  40,   9,  30,  38, 138,   3,  11,  18, 121, 249, // 232
     21, 251, 163,  67,  80, 115,   4,  38, 181, 104, 117,  70,  44, 173,  16,  34, // 233
      1, 105, 186, 164, 252, 175, 138, 227,  24, 240,  88,   4, 194,  57, 206,  63, // 234
     67, 156,  87, 116, 163,  56, 186, 224,  26,  76,  24, 146, 132, 226, 230,  16, // 235
    213,  54,   7, 171,  23, 135, 164,  65,  61,  16, 238,  44,  60,  53, 144, 163, // 236
     61, 127, 239, 238, 197, 159, 203,   8, 100,  91,   4, 114, 196, 107,  64, 239, // 237
    173, 184, 248,  35, 134, 174, 255,  26,  65,  60, 147, 194,  93, 206, 158, 160, // 238
    204, 209, 151, 109, 140,  19,  39, 140, 251, 130, 152, 147, 123, 126, 239, 212, // 239
    148, 130,   8,  48,  36,  54, 161,  13, 235, 253, 120, 216, 111, 120, 142, 210, // 240
    157, 182,  14, 110, 181,  99, 252,  83, 134,  93, 207, 173,   7,  27, 195, 187, // 241
    224, 188, 180,  31,   4, 128, 231, 139,  26, 155, 197,  49, 151, 102,  29,  33, // 242
    135, 192, 196,  34, 199, 142, 189,   6, 196, 116, 129,  88, 211, 116,  27, 136, // 243
    225,  94, 199, 242,  12,  48, 214,   3, 222, 159, 133, 190, 160, 118,  23, 214, // 244
    206, 233,  34,  36, 190, 125, 237, 156, 103, 235, 221, 194, 165, 211, 253, 142, // 245
     88,  14, 224, 247, 219,  47,  46, 184, 127, 239, 226, 223, 225,  38, 218,  71, // 246
    176,   8, 177, 249, 157, 204, 206, 155,  96, 249, 203, 178, 142,   4, 203, 122, // 247
    243, 251,  54,  63,  39, 112, 124,  96,  54,   8,  67, 161,  69, 133, 150,  41, // 248
    106, 186,  18, 102,  53, 167,  23, 133, 213, 246, 233, 183,  64,  98, 168,  90, // 249
    168, 243, 200,  50, 198, 128,   3, 152, 243, 190,  38,  38, 103,  31,  47, 150, // 250
    148, 220,  44, 102, 230, 156,  41, 219, 119,  76,  65,   8, 159,   1, 234, 135, // 251
    224,  51, 112,  13,  18,  44, 175,  70, 100, 225,  89, 239,   3, 100,   4, 253, // 252
     49,  34,   9, 192,  93, 123, 150,  28,  91, 144, 173, 173, 132,  76, 119,  61, // 253
     88, 126,  13, 185, 229,  29, 155, 178,  30, 185, 252, 168, 130, 143, 137,  11, // 254
    139, 255,  71, 140,  11,  76, 255,  64,  95, 228,  10,  10, 125,  51,  45, 201, // 255
    240, 116, 167, 173,  15, 109, 181, 180, 177,  62,   0, 152,  35,  31, 152, 162, // 256
     86, 202, 255, 228, 120, 212,  10, 197, 168, 177, 190, 169,  34, 215, 247, 193, // 257
    123,  13, 120, 193, 201,  57,  69,  63,  16,  39, 141, 251, 146,  76, 127, 238, // 258
    152, 130,  16,  75,  70, 186,  17, 251, 244, 133, 184, 223, 225, 217, 123, 247, // 259
     44, 254, 239,  85,  35, 208, 103,  96, 196,  17, 128, 187, 119,  95, 244, 101, // 260
    191,  33, 254,   5,  54, 238, 132,  46, 200, 116, 148, 237,   6, 147, 253, 172, // 261
    124,  23, 141, 135, 144, 165, 167,  84, 156,  59, 225, 199, 226, 248, 113, 159, // 262
    147,  11, 114, 160,  37,  79,  49,  32,  14, 231, 116, 213, 254, 200,  78, 183, // 263
    192, 173, 150, 186, 128, 116,  46, 157, 177,  38,  65,  17, 192, 138, 252,  79, // 264
      2,  80,  28,  92, 212,  45,  66, 124, 112, 180, 196, 197,  97,   5,  31, 134, // 265
    142, 229, 103,  80, 176, 206, 197, 213, 194,  93, 192,  43,  84, 132, 138,  58, // 266
    150,   1, 235, 161, 107, 154, 136,  25,  19, 130, 195, 228, 127, 119, 239, 203, // 267
    121, 130, 121,  32,  63,   8,  81, 230, 126,  50,  98,   8, 192, 109, 187,  22, // 268
    151, 222,  83, 113, 241,  35, 112, 238, 184,  13, 139, 193,  97, 219,  62, 174, // 269
    226,   0, 139,  59,  35, 247,  76, 177, 164, 244,  87,  98, 106, 206,  73,  67, // 270
    174, 128, 146, 172, 195,  44,  94, 160, 161, 201,  68, 155, 181, 112, 175,  77, // 271
    231, 178,  31, 202, 191,  14,  16, 129, 132, 252, 175,   6,  41, 185, 157, 178, // 272
    172, 161, 131, 247, 138, 161,  19,  88,  92, 242,  11,  16, 131,  43,  36, 113, // 273
     37, 225, 112, 162, 244, 248,  12,  32, 150,  96, 137, 166, 155, 171, 239, 219, // 274
    189, 228,  74,  39, 250, 113, 163, 205,  17,  65,   0, 238, 218, 121, 193, 249, // 275
     57, 134, 249,  98,  48, 104, 124, 148,  20, 155, 126, 223,  78,  21, 110, 124, // 276
    222, 188, 115, 114, 225, 151, 197, 185,  96,  69, 243, 250,  97,  83, 251, 235, // 277
    187,  48,  48,  19,  87, 117,  77, 128,  30,  64, 125, 145,  82,  49,  86,  29, // 278
     90, 215,  95, 243, 105, 243,  89,  53, 228, 127, 198,  47, 168,  22, 202, 245, // 279
    188, 204, 116, 252,  33, 242, 255,  64, 237, 209,  79, 224, 148, 194, 175, 138, // 280
    179, 139, 190, 135, 251,  17,  10,  65, 152, 173, 249,  30,  12, 212,  15,  63, // 281
     79, 248,  12, 136,  41, 194, 103,  46, 187, 103, 207, 197, 191,  97, 126, 200, // 282
    193, 158, 207, 132, 239,  50, 154,   0,  60, 186, 241, 170, 192,  61, 187,  46, // 283
    250,  49, 242, 244,  61,   5, 150, 127, 110, 168, 131,  11, 143, 155, 223, 137, // 284
     23, 150, 117, 188,  83, 218, 246,  47,  46, 249,  25,  78, 157,  43, 147,  58, // 285
    229, 130,  88, 168, 227,   3, 179, 186, 245,   0, 106, 240, 145, 173, 222,  31, // 286
    218,   6, 150, 183,  51,  45, 215,  22,  55, 111, 109, 231,   6,  48, 232,  92, // 287
     86, 106,  99, 228, 165,  39, 133, 129,  25, 216, 204, 227, 146,  26, 227, 172, // 288
    220, 179, 193, 141, 221,  44, 168,  40, 140,  74, 145, 128,  30, 132, 106,  48, // 289
     12,  86, 143,   1,  69, 102,  44, 174,   7, 179, 244, 175, 231, 132, 178, 158, // 290
    187, 111, 215, 249,  25, 237,  51, 144, 177,   4, 224, 206,  29, 139, 231, 182, // 291
    231, 181,  61, 137, 132,  15,  75,  33, 195,   5,  18,  23, 114,  56,  50, 231, // 292
    210, 174,  79, 219, 254, 194, 252,  15, 137, 197, 165, 191, 132, 124, 186,  32, // 293
    169, 197, 217, 243,  48, 205,  90,  38, 131, 212,  21, 215,  37,  55,  86,  91, // 294
    164,  22,  57,   2, 246, 244,  52, 153,  86, 191, 219, 163, 245, 226,   0,  96, // 295
    179, 226, 255,  79, 252, 148,   4,  14, 195, 184, 200, 239,  36,  87, 198, 248, // 296
     39, 139,  11, 138, 127,  42, 142,  29, 247,  41,  73, 156, 227, 240,  25,  80, // 297
    197, 245,  96, 245,  56, 133,  82,  65, 104, 232, 167, 104, 134, 239, 133, 187, // 298
    119,  93, 116,  93, 114, 144, 166, 207, 211,  25,  73,   0, 238, 218, 117, 241, // 299
     71, 252,   1, 115,  21, 226, 246,  47,   8, 193, 188,  71,  25,  77, 113,  79, // 300
     13,  89, 143, 105, 185, 131,  70, 129,  56, 163, 232,  59, 226, 180,   9,  95, // 301
    151, 137,  58,  85, 167, 175,   4, 138,  45,   3, 226,   3, 161,  85, 131,  87, // 302
    147, 217, 117, 107, 187, 152,  37,  40, 253,  74,  61, 184, 147, 206,  88,  11, // 303
      0, 211,  21, 199, 135, 154, 176, 249, 151,  14,  67, 254,  31, 104, 244,   9, // 304
    159, 129,  79, 137, 243, 139, 111,  20, 249, 254, 137, 192,  87,  72,  25, 150, // 305
    161, 230,  40,  76, 113,  83, 136, 113, 112,  48, 187, 253, 158,  61,  23,  61, // 306
    248,  39, 228, 143,  28,   8, 174, 116, 253,  60, 163,   8, 192,  29,  59, 206, // 307
     27, 115, 207, 238, 139, 254, 224, 243,   9, 216, 246, 197,  68,  39, 109, 251, // 308
    220, 162,  81, 164, 178,  46, 203,  58,  74,  42, 250, 230, 230,  93,  96, 121, // 309
     14, 199,   5, 166, 137, 124,  95, 137,  84,  88, 169,  54,  70, 229,  90, 117, // 310
    154, 250,   3,  16,  46,  43,  58,  14, 138,  16,  57, 208, 147, 140,  15, 206, // 311
     84,  69,  79, 111, 189,  41,  57, 199, 139,  75, 160, 160, 157, 149, 123,  86, // 312
     74, 124,   6, 160, 124, 254, 100, 192, 111, 172, 190, 107, 123, 102, 249,  12, // 313
    168,  27, 107, 123,  81, 157, 154,  55, 119, 238, 184, 232, 120, 191, 207, 248, // 314
    139,  63, 203, 184,  60,  22, 142, 107, 224, 200,  29,  43,  84,  98, 209, 115, // 315
    239, 168, 177,  31,  19, 167,  79, 248,   6, 236, 209, 246,  36, 144, 225, 233, // 316
     84, 219, 181,  73, 186, 201, 202,  52,  89,  10,  35, 160, 127,  61, 227,  12, // 317
    230, 230, 157,  47, 124, 122,  80, 161,   5, 103, 170, 208,  31,  98, 109, 211, // 318
     67, 224,   0, 212,  45,   0, 148, 255,  39, 102,  31,  37, 230, 229,  95, 100, // 319
     11, 144,   1,  61,  23, 150, 154, 211,  69, 150,  94, 128,  96,  42,   6,  39, // 320
    117, 129, 124,  58, 176, 228, 193,  42, 196,  34, 166, 128, 149, 160,   8, 186, // 321
    168, 143,  92, 250, 181, 217, 161,  99, 198, 150, 191, 190, 122, 181, 100,  62, // 322
    108,  25, 139,  83, 141, 100,   4,   7, 112, 247, 206,  11, 255, 203, 239,  19, // 323
    255, 130,  59, 239, 241,  97,  40, 250, 104, 243, 117,  68, 184, 235,  62, 245, // 324
     11, 124, 147,  32,  75, 254,   4, 182, 253, 107, 109, 119,  57,  45, 147, 238, // 325
    173, 234, 240, 147,   0,  80, 214, 110, 140, 236, 114, 106,  77,  40, 181, 219, // 326
     26, 173, 145,  46, 186,   9, 243, 159, 218, 248, 200,   1,  88,  97, 255, 251, // 327
      3,  92, 250,  12, 140, 185,  18, 186, 155,  95, 192, 179, 112, 174,  36,   2, // 328
    137, 181, 195, 167, 213, 224,  28, 168,  94,  52, 204, 156,  18, 241, 108, 127, // 329
     64, 187, 121, 234, 167,  47, 250, 235,  29, 187,  47,  44, 235,  15, 166, 116, // 330
    250,  44, 173,   9,   0,  17,   8,   5, 203,  35, 190, 160, 126,  43, 100, 173, // 331
    130, 112,   8,   8, 182, 125, 218,  18, 211,   1, 203,  62,  88, 197,   8,  78, // 332
    214,  11, 196, 165,  19, 127,  45, 200,  66,  58,  81,  74, 178,  22,  10, 191, // 333
    158, 131, 113, 168, 234,   1, 112,   9,   6,  56, 128, 154, 174, 244,  74,  19, // 334
     86, 215, 181,  89, 230,  45, 160, 242,  78, 109, 142,  76, 232,  71, 130, 162, // 335
     36, 107, 145,  19, 104, 135, 226, 118, 190,  88,  82, 246,  75, 113,  24, 136, // 336
      1, 231, 186, 199, 131,  83,  13, 214, 129,  72,   0,  56,   1, 232, 163,  24, // 337
     79, 128,  53, 251,  31,  62,  77,  91, 117, 251, 182,  11, 206, 112, 100,  64, // 338
     54,  53, 154, 182,   4, 128, 182, 125, 159,  46,  94,  68, 220, 190, 227, 182, // 339
    125,  42, 250,   2, 184, 133, 231, 244,   9, 223,  20, 103,  23, 255,  55, 228, // 340
    208, 241,  54, 161, 247, 131, 205,  80,  83, 157, 239,  43, 195,   2,  84, 151, // 341
     97, 168, 101, 175, 134, 185,  45, 157,  74, 149, 148, 255, 213,  33, 162, 151, // 342
     36, 125,  42, 198, 249, 167, 171,  55,  50,  68,  77, 250,  12, 156,  58, 254, // 343
    171, 226, 156, 226, 239, 139, 108,  95, 161,  84,  16,  14,  81,  69, 233, 107, // 344
     18,  21, 166, 146, 135,  56,  48,  15, 235, 247, 233, 187, 118,  94, 248,  21, // 345
    165, 134,  82,  80,  41, 237, 162,   1, 153, 147,  95,  47,  28, 127,   3,  98, // 346
    246, 127, 168, 107,  90, 144, 215, 112,  57,  87, 168, 232,  11, 139, 178, 236, // 347
     35, 160, 225, 191,  94, 218, 233, 157, 235,  43, 209, 178, 129,   4,  33,  52, // 348
     35,  54, 132, 118,  64,  30,  85,  67,  63, 229, 216, 198, 240,  78,  41, 111, // 349
     51, 206, 192, 237,  66, 231,  40, 230,  43, 144, 227, 225, 234,  87,  40,  60, // 350
    145, 233, 214,  27,   0, 119, 228, 116, 161,  98, 112,   2,   2, 180,  94, 221, // 351
    127, 171, 168, 232, 120,  83, 122, 104,  90, 201,  93,  48,  16, 188,  76,  61, // 352
      6,  34, 144,   7,  43, 193,  31, 238, 218, 121, 209, 209, 157,  49, 237, 155, // 353
    215, 207, 121, 150, 102, 146, 180,  41, 105, 197,   1, 252,  97, 211,  57, 211, // 354
    140, 241,  69, 127,  15,   4, 125,  55,  65, 204,  15, 246, 218, 246,  29,  64, // 355
     23,  23,  28, 153, 240,  35, 199,  94,  13, 249, 240, 231,  41, 217, 252,  61, // 356
    195, 152,   8, 130,  99, 101, 193,  81, 174, 237, 136,  54,  72,  34, 210, 211, // 357
    166, 155, 191,  15,  32,  62, 161,  37,  92,   5, 168, 172,  44,  39,  83,  18, // 358
    226,  84, 141, 131, 156, 216, 133, 165,  55, 137, 227, 198, 125,  26, 115, 129, // 359
    139,  69, 177,  30, 156,  40, 244,  74, 229,  58, 134, 227, 208, 103, 225, 173, // 360
    250, 204, 157, 155, 207, 157, 235,  68,  63, 170, 109,  90, 153,  49, 213,  62, // 361
    251, 173, 119, 199, 142,  11, 151, 100, 101,   7,  94,  68, 208, 197, 165,  52, // 362
    239, 201,   4, 157, 253,  62, 105, 253,  67, 202, 208, 212, 236, 159,  91, 252, // 363
      3, 113, 242, 248,  47,  65,  38, 207, 182, 222, 104,  18,  45, 144,   3,  32, // 364
     59, 154, 208,   2,  36,  81, 177, 207, 163, 180,  84, 164, 139,  57, 144, 150, // 365
    141, 136, 217,   1, 232, 146, 119, 222,  73,  12, 201,  20, 126,  45,   7,  10, // 366
    192, 133, 125,  70, 232, 252,  91,  90, 101, 142,  43, 252,  20,   8, 193,  79, // 367
     68,   1, 124,   6, 184,  46,  28,  41, 224, 138,  40,  18,  32, 199, 192, 169, // 368
     70, 150, 255,  95, 183,  67, 188, 117, 164,  31, 133,  70,  93,  39,   0,  75, // 369
     87, 157, 229, 187, 107, 231, 249,  63,  52,  12, 241,  56, 210,  53,  79,  11, // 370
     33, 109, 115,  66,  65, 102, 255, 255, 116, 219, 224,  53, 213,  83, 115,  78, // 371
     20, 151,  64, 209,  55,  51, 207,  29, 253,  76, 190, 175,  20, 137,  61,  38, // 372
    203,  83,  71, 117, 148, 116, 182, 169,  70, 216, 173,  21,  34, 162, 176,  94, // 373
    250, 173,  82, 221, 185,  14, 112,  80,  49, 166, 246, 195, 236,  63, 249, 126, // 374
    226, 100,  74, 191, 237,  59, 253,  33,  21, 190, 151,  78, 188,  69, 204, 202, // 375
     59,  91,  18,   1,  42,   9, 213,  70,  50, 120,  45,  25,  75,  96, 136,  41, // 376
    126,  67,  95, 126, 231, 142, 243, 191, 232, 244, 184, 134, 211, 190,   3,  70, // 377
    209, 225, 116, 155, 120, 230, 174, 157, 231, 150,  20, 140, 243,  63, 224,  15, // 378
    248, 190, 140, 152, 125,  35, 238,  96, 220, 126,  12,  44,  30, 101, 212,  99, // 379
     11, 175, 145, 242,  62,   3,  78, 220,  42, 154, 166, 203, 144, 217,  26, 120, // 380
    244, 169, 234,   1,  40,  66,  48,  38,  96, 118, 254, 185, 224,  38, 220, 203, // 381
     99,  73,  24, 222, 110, 186,  95, 132, 227, 237, 146, 149,  86, 193,  41, 173, // 382
     47, 211, 115,  79,   6,  65,  62,  83, 165, 186,  45, 117, 168, 123, 224, 129, // 383
    144,   5, 175,  79, 230,  51,  96, 136, 177,  19,  62,   3,  20,   9,  52,  13, // 384
     76, 167, 161,  93, 114, 201,  87, 103, 103,  31, 123, 197, 148, 213, 171,  31, // 385
    216,  13,  35, 151,  59, 197,  53,  14,   0, 182, 253,  19, 132, 230, 123, 222, // 386
     31,  48, 174,  72,   5, 203,  63, 198,  63,  73,  92,  84, 246,  83, 200, 124, // 387
    215,  64, 233, 227, 119,   7, 219, 125, 122, 165,  63, 128,  85,  61,  64,  39, // 388
    174,  13,  99, 112, 144, 155, 165,  41, 188,   7, 215, 127, 213,  98, 179, 168, // 389
     47,  37,  10,  14, 101, 217,  71, 186,  57,  12, 217,  55, 231, 227, 112, 152, // 390
      9, 105,  46,  44,  10, 206,   3,  55, 208, 133, 207,  21, 181, 154, 131, 140, // 391
    134,  68, 128, 135,  93,  32, 168, 127, 119, 210, 212, 224, 131, 204,  94,  53, // 392
    200, 227, 142, 126, 165,  62, 107,  22, 192, 186, 125, 219, 249,  31, 195, 122, // 393
    249,   7, 210, 117,  45, 114, 242,  26,  46,  58, 150,  80, 203,  63,  27, 172, // 394
    221, 101, 147, 110, 113, 204, 182, 175, 130, 138, 162, 172, 121,  50, 237,  21, // 395
     97,  84,  45, 116, 187, 173, 238,  92, 175,  90, 221, 150, 122, 244,  71,  72, // 396
    108,  20,  53, 249, 159,  76,  51, 245,  33,  37,  89, 106,   1,  86, 182,  12, // 397
    226, 144,  70, 138,   1, 203,  37, 147, 110,   6,  49, 248,  48, 196,  52,   8, // 398
    142,  22,  76, 182, 135,  52, 221, 251,  39, 125, 217, 120, 240,   5, 178, 244, // 399
    143, 101, 235, 177, 199, 239, 216, 228, 142, 211,  80, 202,   9, 192, 237, 229, // 400
     23, 252, 192, 231,  55,  30,   6,  38, 198,  49,  59, 175,  83, 165,  39, 110, // 401
    255, 180,   9, 255,  37, 206,  43, 253, 145, 109, 238, 188, 118, 193, 155, 231, // 402
     43, 146, 233, 195, 172,  44,  46,  13,  34,  13, 197,   8, 202, 172, 110, 149, // 403
    234,  78,  58,  36, 169,  47,  35, 142, 159, 250, 144,   2, 223,  68, 183, 134, // 404
    208, 111, 191,  12, 223,  62, 173, 232, 122, 113, 110, 233, 255,  19,  57, 240, // 405
     25, 112,  74,  65,  72, 229, 160,  63, 104, 156,   3,  61, 244, 211, 183, 239, // 406
     56, 255, 253,  73,  16, 251, 133, 204, 222,  15, 213, 103,  46,  73,  56, 150, // 407
    238,  58,  43, 235, 206, 109, 231, 255,  41,  16, 208, 127,  26, 143, 199, 117, // 408
    250,  78, 147, 187,  34,  37, 180, 247,   5,  79,  44, 200, 111,  69, 244, 252, // 409
    154, 248,  75, 113, 248, 216,  15,  91,  98, 181, 147,  28, 230, 176,  31, 167, // 410
    233, 137, 209, 129, 220,   0, 170, 227, 103,  27,  77, 188,  54,  12,  44, 184, // 411
     27,  37,  20, 107,  69, 158, 194, 237, 128,  66,  61, 253,  55, 205, 111, 197, // 412
    208, 254, 235, 154, 154,  79, 132, 211, 227, 158, 157, 119, 142, 228,  30, 153, // 413
    245,  41, 130,  20, 112,  86, 210, 186,  13,  52, 207,  36,   2, 112, 115,  63, // 414
    218, 167, 233,  79, 223, 177, 249, 188, 161,  83,  33, 217,  56, 232, 148,  16, // 415
      0, 202,  56,  19, 227, 190, 135,   3,  57, 198,  23,  35, 210,  95,  26, 187, // 416
     94, 202,  86, 246, 254, 230,  98, 226, 134,  58,   2, 155, 158,  44,  92,  58, // 417
    177, 149, 253, 205,  25, 253,   1,  18, 138,  38,  53,  60,  80, 102,  13,  33, // 418
    252, 182, 174, 107,  75, 127, 205,  59, 254,  89,   3, 156, 145,  24, 151,  64, // 419
     66, 164,  58, 159,  28,   3, 241, 144, 206, 133,  28, 202, 197, 101,  55, 137, // 420
    147, 198, 127,  78,   6, 137, 145, 187,  84,  29, 239,  64, 245, 100,  58, 114, // 421
    159, 152, 163,   7, 245, 167, 110, 223, 114, 254, 113, 169, 194, 135, 227,   4, // 422
    224, 238, 141,  23,  22, 102, 233, 177, 101, 254, 160, 239, 195, 164, 116,  14, // 423
    232,  84,  36, 174,  18, 182, 253, 241,  96, 247, 127,  32,  89,  55, 178, 112, // 424
    233,  94,  38, 100, 205, 129,  75, 234,  56, 160,  68,  93,  20, 162,  12,  93, // 425
      5,  51, 156,  27, 133, 236, 127,  44, 110,  37, 253, 183,  41, 181, 238, 228, // 426
    214, 210, 189, 144,  67,  57, 166, 240,  19,  98, 241, 196, 159, 203, 140,  69, // 427
     78,  40,   8, 153, 206,  14, 214, 129, 169,  70,  80, 123, 226, 182, 173, 231, // 428
     58,  19, 140, 114,   8, 162,  29,  37,   0, 220, 252, 241, 160, 137, 205, 175, // 429
     95, 224, 148, 178, 143,  25, 100, 184, 249, 167, 231, 158,  34,  46, 155, 252, // 430
     27, 152, 197, 206,  62, 100, 136, 233, 251,  39, 211,  94, 141,  71, 174,  64, // 431
     43,  94, 104, 228,  32, 106,  17, 136, 227,  88, 122, 236,  65, 208,  71,   5, // 432
     36,  77, 154, 170, 133, 227,  30, 203,  28,   9, 254, 204, 201, 163,  49,   9, // 433
    225, 202, 151,  77, 190,  69,  44,  40, 184,  68, 114, 155,  86, 116,  56, 253, // 434
    225, 141,  94, 131, 186, 174,  77,  10, 248, 140, 199, 238, 216, 116, 206,  49, // 435
    253,  61,  99, 231, 103, 234, 179,  55,   4,  20, 247, 108,  57,  53,  63,  26, // 436
     48, 255, 130, 205, 127, 142, 188, 122, 219, 118,  89,  31,  81, 113, 241,   8, // 437
     88, 178, 160,  56, 121, 194, 151,  96, 226, 187,   9, 202, 164,  73,  67,  64, // 438
    149, 110,  95, 107, 242, 246,  27, 232,  68,  44, 232,   1, 112, 109,  88, 184, // 439
     18,  41, 195, 171,  82,  58, 184, 206,  88,  35,  92, 145, 119, 130, 129, 247, // 440
     41, 195, 206,  52, 107, 165, 200, 150, 156,  16,  33,  82,  10, 190, 165, 206, // 441
    232,  67, 114, 118, 201,  13, 120, 125,  79, 222,   4,  21,   5,  23,  52, 144, // 442
    124, 175, 242, 121,  55,  39,  48,  89,  11, 250, 254, 126, 199, 214,  11,  28, // 443
    101, 143,  28,  33,   0,  76, 214,  25,  49, 114, 238, 129, 137, 227, 124, 201, // 444
    246,  91,  66, 119, 127, 149,  19, 217, 122, 138, 178, 230, 138,  75,  39, 253, // 445
     82,  28,  61, 238, 163,  82,  54, 235, 239, 201, 116, 255, 108, 114, 206,  49, // 446
     22,  19, 123, 240, 250, 240,  54, 153, 104,  36, 149,  99, 173, 239,  66, 250, // 447
    239, 104, 163, 165, 205, 203, 244,  95, 147, 115, 142,  77,  37, 216, 182, 246, // 448
     53, 175, 224,   2, 241,  33, 112, 157,  83, 114, 145, 136,  20,  92,  40, 197, // 449
     49, 187,  10,  45, 100,  80,  12,  78,   7, 131, 247, 183, 187, 182,  95,  60, // 450
    217, 174, 118,  15, 109, 199,  17,   2, 176, 223, 215, 248,  51,  36, 235, 188, // 451
    202,   9, 182, 159,  44,  87,  66, 209, 247,  31,  96, 197, 126,  45,  74, 179, // 452
    157, 137,  31,  63,  20,  81,  78, 253, 205, 139,  52,  53, 200, 151,  86,  23, // 453
     79,  85,  71, 106, 245,   0, 100, 255,  25, 143, 160,  94, 232,  17, 199,  36, // 454
    167, 117, 234,  77, 164,  65, 205, 177, 129,  41, 208,  11, 252,  15,  98,  10, // 455
     62,   9, 104, 160, 205, 193, 250, 180, 171, 144,  19,  64, 114, 145,  69,  16, // 456
    149,  30, 113, 202,  89, 200, 118,  87, 224,  63, 109,  60, 239,  90, 216,  53, // 457
    127,  30, 139, 216, 135, 136,  30, 132,  82, 225, 148, 237,  27,  43, 206,  44, // 458
    249,   6,  20,  50, 255, 137, 108,  61, 129, 158, 175,  50, 238,  55,  23, 202, // 459
     59,  77, 143, 136,  87, 234, 111,  69,  82, 211,  48,  54, 131, 154,  35,  77, // 460
    207, 192, 153,  78, 107, 254, 152, 139,  82,  98,  78, 163, 210, 242, 237, 134, // 461
      7,  69,  91, 180,  14, 253,  89,  56,  67, 192,  31, 239, 105, 127,  77, 116, // 462
    193, 146,  81, 150, 205, 139,  83, 220, 247, 208, 236, 193, 103,  50, 191, 153, // 463
     62, 142, 156,  28, 137,  65,  85, 231,  59, 210,  45, 218,  18,  94, 250, 116, // 464
     78, 115, 121,  48, 199, 152,  42, 194, 177,  41, 215, 156, 113, 236, 138, 101, // 465
    // ...
    197, 206, 163,   0,   0,   0,   0,  73,  69,  78,  68, 174,  66,  96, 130       // 1329
};

#endif // C_USERS_HAPAXIA_DOCUMENTS_TEMP_SFML_ICON_SMALL_PNG_HPP

EDIT: didn't realise it didn't fit into the post so cut out some data.
« Last Edit: July 22, 2020, 08:36:07 pm by Hapax »
Selba Ward -SFML drawables
Cheese Map -Drawable Layered Tile Map
Kairos -Timing Library
Grambol
 *Hapaxia Links*

herbertbahia

  • Newbie
  • *
  • Posts: 6
    • View Profile
Re: help me about sprites!
« Reply #4 on: July 21, 2020, 03:24:42 pm »
I don't know how to thank you, I could send the source code in this email: herbertroyal@outlook.com
: D

Hapax

  • Hero Member
  • *****
  • Posts: 3379
  • My number of posts is shown in hexadecimal.
    • View Profile
    • Links
Re: help me about sprites!
« Reply #5 on: July 22, 2020, 08:38:38 pm »
You're welcome. Hope it helps!

I've seen a few examples of these sorts of programs on these fora - they are quite simple because you don't really need much to make it work - but I added features to make it nicer for myself ;D
Selba Ward -SFML drawables
Cheese Map -Drawable Layered Tile Map
Kairos -Timing Library
Grambol
 *Hapaxia Links*