| 102 | } |
| 103 | |
| 104 | void SplashScreen::OnAfterUserCreate() |
| 105 | { |
| 106 | const char logo[] = |
| 107 | "000000000000000000000000000000000000000000000000000000000000000000005" |
| 108 | "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEED1EE" |
| 109 | "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEED5EEE" |
| 110 | "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE@E@000" |
| 111 | "0000000000000000000000000000000000000000000000000000000000001E1D:ZZZZ" |
| 112 | "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ1D5BZZZZZZ" |
| 113 | "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ5@E:P0002Z0" |
| 114 | "02ZZX000000000000ZP0000000000000000000000000000ZX000Z002XE1DX?o`o:Poo" |
| 115 | "800SooaE5@E1ED5BX?ol5E@E0E1ED?oo5@E1ED5DE1D5E@ZQEEBPEE2QD5BSooclZ?olQ" |
| 116 | "AB?oo5DEEDEEDE:SooaEEAE5DEEDoolEADEEDEAE5AEEBZ5EE:5EE:5@E:?oo?bXoob55" |
| 117 | "8o3lEAEEAD5ADZ?oo5@E5EEAD5Cl01E5AD5AE5DE5@E:X01DXEEDXE1DXo3lo:Sl0800S" |
| 118 | "ooaE1ED5EE5BXo00EEDEEE5EE?oo5EE5EE5DEEDEEDZQEEBQD5BQD5BSl?cl0?`0ZZZ?o" |
| 119 | "o5D5E@EEDE03loaEEAEEDEEDoolEED5EDEAEEAEEBZ5EE:5@E:5@E:?oo?oloob008o00" |
| 120 | "EAEEAD01EE?co5EE5EEAD03l01DE@05AE5AE5@0:XE000EEDXE1DXooloocoo8DDSlZQE" |
| 121 | "5EE5EE5EDoolE1DE4E5EE?oo5AE5EE5DE5DEEDZQEEAAEEBQD5BPoo3oo3olQAB?bZ5DE" |
| 122 | "1D5EDEE@ooaD5AD1D5EDoolE1DEE@EAD5@EEBZ5EE51ED:5@E:P000000020080:X0000" |
| 123 | "00000000000000000000000000000000000:X0000002XE1DZZZZZZZZZZZZZZZZZZZZZ" |
| 124 | "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZQD5@ZZZZZZZZZZZZZZZZZZZZZZ" |
| 125 | "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZX5@E@00000000000000000000000" |
| 126 | "00000000000000000000000000000000000000001E1EEEEEEEEEEEEEEEEEEEEEEEEEE" |
| 127 | "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEED5EEEEEEEEEEEEEEEEEEEEEEEEEEE" |
| 128 | "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE@5EEEEEEEEEEEEEEEEEEEEEEEEEEEE" |
| 129 | "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEED0000000000000000000000000000000" |
| 130 | "0000000000000000000000000000000000000"; |
| 131 | |
| 132 | spr.Create(203, 24); |
| 133 | int px = 0, py = 0; |
| 134 | for (size_t b = 0; b < 1624; b += 4) |
| 135 | { |
| 136 | uint32_t sym1 = (uint32_t)logo[b + 0] - 48; |
| 137 | uint32_t sym2 = (uint32_t)logo[b + 1] - 48; |
| 138 | uint32_t sym3 = (uint32_t)logo[b + 2] - 48; |
| 139 | uint32_t sym4 = (uint32_t)logo[b + 3] - 48; |
| 140 | uint32_t r = sym1 << 18 | sym2 << 12 | sym3 << 6 | sym4; |
| 141 | |
| 142 | for (int i = 0; i < 12; i++) |
| 143 | { |
| 144 | olc::Pixel p = olc::RED; |
| 145 | switch ((r & 0xC00000) >> 22) |
| 146 | { |
| 147 | case 0: p = olc::Pixel(0, 0, 0, 255); break; |
| 148 | case 1: p = olc::Pixel(255, 255, 255, 255); break; |
| 149 | case 2: p = olc::Pixel(255, 120, 26, 255); break; |
| 150 | case 3: p = olc::Pixel(79, 193, 255, 255); break; |
| 151 | } |
| 152 | spr.Sprite()->SetPixel(px, py, p); |
| 153 | if (++px == 203) { py++; px = 0; } |
| 154 | r <<= 2; |
| 155 | } |
| 156 | } |
| 157 | |
| 158 | spr.Decal()->Update(); |
| 159 | vBoom.resize(spr.Sprite()->width * spr.Sprite()->height); |
| 160 | vScale = { float(pge->ScreenWidth()) / 500.0f, float(pge->ScreenWidth()) / 500.0f }; |
| 161 | fAspect = float(pge->ScreenWidth()) / float(pge->ScreenHeight()); |
nothing calls this directly
no test coverage detected