Code reduced and fixed

This commit is contained in:
JailDoctor committed 2023-07-25 14:29:05 +02:00
1 parent 0b14789ca1
commit 3271552d0e
1 file changed
+15 -35
+15 -35
View File
@@ -6,8 +6,10 @@ SDL_Texture* sdlTexture;
SDL_Event sdlEvent; SDL_Event sdlEvent;
bool should_exit = false; bool should_exit = false;
Uint8 bmp[576] { 0x42, 0x4D, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0xE0, 0x0F, 0xE7, 0xCF, 0xC0, 0x7F, 0xFF, 0xFF, 0xC0, 0x07, 0xC7, 0xC7, 0xC0, 0xFF, 0xFF, 0xFF, 0xC0, 0x07, 0xC3, 0x87, 0x81, 0xFF, 0x9F, 0xF3, 0x80, 0x1F, 0x83, 0x83, 0x83, 0xFF, 0x8F, 0xE3, 0x80, 0xFF, 0x83, 0x83, 0x87, 0xFF, 0x87, 0xC3, 0x87, 0xFF, 0x81, 0x03, 0x83, 0xFF, 0x83, 0x83, 0x80, 0xFF, 0x81, 0x03, 0x81, 0xFF, 0x81, 0x03, 0x80, 0x1F, 0x80, 0x03, 0xC0, 0xFF, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x7F, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x07, 0xE0, 0x3F, 0xE0, 0x0F, 0xE0, 0x0F, 0xE0, 0x0F, 0xF8, 0x3F, 0xF8, 0x3F, 0xF8, 0x3F, 0xF8, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x73, 0xB9, 0x9D, 0xFF, 0xFF, 0xE7, 0xFF, 0x84, 0x21, 0x91, 0x89, 0xF8, 0x3F, 0xC3, 0xFF, 0x80, 0x01, 0x80, 0x01, 0xE0, 0x0F, 0xC3, 0xFF, 0x80, 0x01, 0x80, 0x01, 0xC0, 0x07, 0xC3, 0xD9, 0x80, 0x01, 0x80, 0x01, 0xC0, 0x07, 0xE7, 0xE6, 0x80, 0x01, 0x80, 0x01, 0x80, 0x03, 0xFF, 0xFF, 0x80, 0x01, 0x80, 0x01, 0x80, 0x03, 0x6F, 0xF6, 0xFF, 0xFF, 0x80, 0x01, 0x80, 0x03, 0x6F, 0xF6, 0xFF, 0xFF, 0xC0, 0x03, 0x80, 0x03, 0x6F, 0xF6, 0xFF, 0xFF, 0xC0, 0x03, 0x80, 0x03, 0x77, 0xEE, 0xFF, 0xFF, 0xC0, 0x03, 0xC0, 0x07, 0x78, 0x1E, 0xFF, 0xFF, 0xE0, 0x07, 0xC0, 0x07, 0x7F, 0xFE, 0xFF, 0xFF, 0xF0, 0x0F, 0xE0, 0x0F, 0x7F, 0xFE, 0xFF, 0xFF, 0xFC, 0x3F, 0xF8, 0x3F, 0x7F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0x7F, 0xFE, 0xF7, 0xFE, 0x7F, 0xEF, 0xFF, 0xFF, 0x7F, 0xFE, 0xF7, 0xFE, 0x7F, 0xEF, 0xFF, 0xFF, 0x7F, 0xFE, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x78, 0x1E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0x77, 0xEE, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xEF, 0x6F, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xEF, 0x6F, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x6F, 0x6F, 0xF6, 0xFF, 0xF7, 0xEF, 0xF0, 0x00, 0xFF, 0xFF, 0x0F, 0xFF, 0xF7, 0xEF, 0xCF, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xF7, 0xEF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xEF, 0xF7, 0xB8, 0x00, 0xF8, 0x1F, 0x1D, 0x3F, 0x1F, 0xF8, 0x77, 0xFF, 0xF7, 0xEF, 0xEE, 0xDF, 0xFF, 0xFF, 0x6F, 0xFF, 0xEF, 0xF7, 0xF6, 0xEF, 0xFF, 0xFF, 0x6F, 0xFF, 0xEF, 0xF7, 0xF6, 0xEF, 0xFF, 0xFF, 0x6F, 0xFF, 0xEF, 0xF7, 0xF6, 0xF7, 0xEF, 0xF6, 0xF7, 0xFF, 0xEF, 0xFF, 0xFF, 0xF7, 0xEF, 0xF6, 0xF7, 0xFF, 0xEF, 0xFF, 0xFF, 0xF7, 0xEF, 0xF6, 0xFB, 0xFF, 0xDF, 0xFF, 0xFF, 0xF7, 0xEF, 0xF6, 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xF7, 0xEF, 0xF6, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0xF7, 0xEF, 0xF6, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xF7, 0xEF, 0xF6, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xF7, 0xEF, 0xF6, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xC3, 0x6F, 0xFF, 0xF7, 0xEF, 0xF6, 0x6F, 0xFF, 0x81, 0x6F, 0xFF, 0xF7, 0xEF, 0xF6, 0x6F, 0xFF, 0x00, 0x6F, 0xFF, 0xF7, 0xEF, 0xF6, 0x6F, 0xE7, 0x00, 0x77, 0xFF, 0xEF, 0xF7, 0xEE, 0x6F, 0xE7, 0x00, 0xB8, 0x00, 0x1F, 0xF8, 0x1D, 0x6F, 0xFF, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFD, 0x6F, 0xFF, 0x81, 0xCF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0xFF, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x6F, 0x00, 0x00 }; Uint8 bmp[576] { 0x42, 0x4D, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0xE0, 0x0F, 0xE7, 0xCF, 0xC0, 0x7F, 0xFF, 0xFF, 0xC0, 0x07, 0xC7, 0xC7, 0xC0, 0xFF, 0xFF, 0xFF, 0xC0, 0x07, 0xC3, 0x87, 0x81, 0xFF, 0x9F, 0xF3, 0x80, 0x1F, 0x83, 0x83, 0x83, 0xFF, 0x8F, 0xE3, 0x80, 0xFF, 0x83, 0x83, 0x87, 0xFF, 0x87, 0xC3, 0x87, 0xFF, 0x81, 0x03, 0x83, 0xFF, 0x83, 0x83, 0x80, 0xFF, 0x81, 0x03, 0x81, 0xFF, 0x81, 0x03, 0x80, 0x1F, 0x80, 0x03, 0xC0, 0xFF, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x7F, 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x07, 0xE0, 0x3F, 0xE0, 0x0F, 0xE0, 0x0F, 0xE0, 0x0F, 0xF8, 0x3F, 0xF8, 0x3F, 0xF8, 0x3F, 0xF8, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, 0x73, 0xB9, 0x9D, 0xFF, 0xFF, 0xE7, 0xFF, 0x84, 0x21, 0x91, 0x89, 0xF8, 0x3F, 0xC3, 0xFF, 0x80, 0x01, 0x80, 0x01, 0xE0, 0x0F, 0xC3, 0xFF, 0x80, 0x01, 0x80, 0x01, 0xC0, 0x07, 0xC3, 0xD9, 0x80, 0x01, 0x80, 0x01, 0xC0, 0x07, 0xE7, 0xE6, 0x80, 0x01, 0x80, 0x01, 0x80, 0x03, 0xFF, 0xFF, 0x80, 0x01, 0x80, 0x01, 0x80, 0x03, 0x6F, 0xF6, 0xFF, 0xFF, 0x80, 0x01, 0x80, 0x03, 0x6F, 0xF6, 0xFF, 0xFF, 0xC0, 0x03, 0x80, 0x03, 0x6F, 0xF6, 0xFF, 0xFF, 0xC0, 0x03, 0x80, 0x03, 0x77, 0xEE, 0xFF, 0xFF, 0xC0, 0x03, 0xC0, 0x07, 0x78, 0x1E, 0xFF, 0xFF, 0xE0, 0x07, 0xC0, 0x07, 0x7F, 0xFE, 0xFF, 0xFF, 0xF0, 0x0F, 0xE0, 0x0F, 0x7F, 0xFE, 0xFF, 0xFF, 0xFC, 0x3F, 0xF8, 0x3F, 0x7F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x00, 0x00, 0x6F, 0xFF, 0xFF, 0x7F, 0xFE, 0xF7, 0xFE, 0x7F, 0xEF, 0xFF, 0xFF, 0x7F, 0xFE, 0xF7, 0xFE, 0x7F, 0xEF, 0xFF, 0xFF, 0x7F, 0xFE, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x78, 0x1E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0x77, 0xEE, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xEF, 0x6F, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xEF, 0x6F, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xF6, 0x6F, 0x6F, 0xF6, 0xFF, 0xF7, 0xEF, 0xF0, 0x00, 0xFF, 0xFF, 0x0F, 0xFF, 0xF7, 0xEF, 0xCF, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xF7, 0xEF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xEF, 0xF7, 0xB8, 0x00, 0xF8, 0x1F, 0x1D, 0x3F, 0x1F, 0xF8, 0x77, 0xFF, 0xF7, 0xEF, 0xEE, 0xDF, 0xFF, 0xFF, 0x6F, 0xFF, 0xEF, 0xF7, 0xF6, 0xEF, 0xFF, 0xFF, 0x6F, 0xFF, 0xEF, 0xF7, 0xF6, 0xEF, 0xFF, 0xFF, 0x6F, 0xFF, 0xEF, 0xF7, 0xF6, 0xF7, 0xEF, 0xF6, 0xF7, 0xFF, 0xEF, 0xFF, 0xFF, 0xF7, 0xEF, 0xF6, 0xF7, 0xFF, 0xEF, 0xFF, 0xFF, 0xF7, 0xEF, 0xF6, 0xFB, 0xFF, 0xDF, 0xFF, 0xFF, 0xF7, 0xEF, 0xF6, 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xF7, 0xEF, 0xF6, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0xF7, 0xEF, 0xF6, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xF7, 0xEF, 0xF6, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xF7, 0xEF, 0xF6, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xC3, 0x6F, 0xFF, 0xF7, 0xEF, 0xF6, 0x6F, 0xFF, 0x81, 0x6F, 0xFF, 0xF7, 0xEF, 0xF6, 0x6F, 0xFF, 0x00, 0x6F, 0xFF, 0xF7, 0xEF, 0xF6, 0x6F, 0xE7, 0x00, 0x77, 0xFF, 0xEF, 0xF7, 0xEE, 0x6F, 0xE7, 0x00, 0xB8, 0x00, 0x1F, 0xF8, 0x1D, 0x6F, 0xFF, 0x00, 0xBF, 0xFF, 0xFF, 0xFF, 0xFD, 0x6F, 0xFF, 0x81, 0xCF, 0xFF, 0xFF, 0xFF, 0xF3, 0x6F, 0xFF, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x6F, 0x00, 0x00 };
Uint8 map[868] { 0x41, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x43, 0x44, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x45, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x46, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x49, 0x46, 0x40, 0x47, 0x3E, 0x3E, 0x48, 0x3F, 0x47, 0x3E, 0x3E, 0x3E, 0x48, 0x3F, 0x47, 0x48, 0x3F, 0x47, 0x3E, 0x3E, 0x3E, 0x48, 0x3F, 0x47, 0x3E, 0x3E, 0x48, 0x40, 0x49, 0x46, 0x3F, 0x4D, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4F, 0x3F, 0x49, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x46, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x49, 0x46, 0x3F, 0x4D, 0x4E, 0x4E, 0x4F, 0x3F, 0x47, 0x48, 0x3F, 0x4D, 0x4E, 0x4E, 0x50, 0x51, 0x4E, 0x4E, 0x4F, 0x3F, 0x47, 0x48, 0x3F, 0x4D, 0x4E, 0x4E, 0x4F, 0x3F, 0x49, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x52, 0x53, 0x53, 0x53, 0x53, 0x4C, 0x3F, 0x47, 0x54, 0x4B, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x4B, 0x55, 0x48, 0x3F, 0x4A, 0x53, 0x53, 0x53, 0x53, 0x56, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x51, 0x4E, 0x4E, 0x4F, 0x3E, 0x4D, 0x4F, 0x3E, 0x4D, 0x4E, 0x4E, 0x50, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x57, 0x53, 0x58, 0x3E, 0x3E, 0x59, 0x53, 0x5A, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x42, 0x42, 0x42, 0x42, 0x42, 0x4F, 0x3F, 0x4D, 0x4F, 0x3E, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3E, 0x4D, 0x4F, 0x3F, 0x4D, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3F, 0x3E, 0x3E, 0x3E, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3E, 0x3E, 0x3E, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x53, 0x53, 0x53, 0x53, 0x53, 0x4C, 0x3F, 0x4A, 0x4C, 0x3E, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3E, 0x4A, 0x4C, 0x3F, 0x4A, 0x53, 0x53, 0x53, 0x53, 0x53, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x5B, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x5C, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x4A, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4C, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x41, 0x42, 0x42, 0x42, 0x42, 0x4F, 0x3F, 0x4D, 0x4F, 0x3E, 0x4D, 0x4E, 0x4E, 0x50, 0x51, 0x4E, 0x4E, 0x4F, 0x3E, 0x4D, 0x4F, 0x3F, 0x4D, 0x42, 0x42, 0x42, 0x42, 0x45, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x46, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x49, 0x46, 0x3F, 0x4D, 0x4E, 0x50, 0x48, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x47, 0x51, 0x4E, 0x4F, 0x3F, 0x49, 0x46, 0x40, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3E, 0x3E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x40, 0x49, 0x5D, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x5E, 0x5F, 0x4E, 0x4F, 0x3F, 0x4D, 0x4F, 0x3F, 0x47, 0x48, 0x3F, 0x4D, 0x4E, 0x4E, 0x50, 0x51, 0x4E, 0x4E, 0x4F, 0x3F, 0x47, 0x48, 0x3F, 0x4D, 0x4F, 0x3F, 0x4D, 0x4E, 0x60, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x46, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4B, 0x55, 0x54, 0x4B, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x4B, 0x55, 0x54, 0x4B, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x49, 0x46, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x49, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xLine truncated Uint8 map[868] { 0x41, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x43, 0x44, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x45, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x46, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x49, 0x46, 0x40, 0x47, 0x3E, 0x3E, 0x48, 0x3F, 0x47, 0x3E, 0x3E, 0x3E, 0x48, 0x3F, 0x47, 0x48, 0x3F, 0x47, 0x3E, 0x3E, 0x3E, 0x48, 0x3F, 0x47, 0x3E, 0x3E, 0x48, 0x40, 0x49, 0x46, 0x3F, 0x4D, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4F, 0x3F, 0x49, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x46, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x49, 0x46, 0x3F, 0x4D, 0x4E, 0x4E, 0x4F, 0x3F, 0x47, 0x48, 0x3F, 0x4D, 0x4E, 0x4E, 0x50, 0x51, 0x4E, 0x4E, 0x4F, 0x3F, 0x47, 0x48, 0x3F, 0x4D, 0x4E, 0x4E, 0x4F, 0x3F, 0x49, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x52, 0x53, 0x53, 0x53, 0x53, 0x4C, 0x3F, 0x47, 0x54, 0x4B, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x4B, 0x55, 0x48, 0x3F, 0x4A, 0x53, 0x53, 0x53, 0x53, 0x56, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x51, 0x4E, 0x4E, 0x4F, 0x3E, 0x4D, 0x4F, 0x3E, 0x4D, 0x4E, 0x4E, 0x50, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x57, 0x53, 0x58, 0x3E, 0x3E, 0x59, 0x53, 0x5A, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x42, 0x42, 0x42, 0x42, 0x42, 0x4F, 0x3F, 0x4D, 0x4F, 0x3E, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3E, 0x4D, 0x4F, 0x3F, 0x4D, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3F, 0x3E, 0x3E, 0x3E, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3E, 0x3E, 0x3E, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x53, 0x53, 0x53, 0x53, 0x53, 0x4C, 0x3F, 0x4A, 0x4C, 0x3E, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3E, 0x4A, 0x4C, 0x3F, 0x4A, 0x53, 0x53, 0x53, 0x53, 0x53, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x5B, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x5C, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x46, 0x3F, 0x47, 0x48, 0x3E, 0x4A, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4C, 0x3E, 0x47, 0x48, 0x3F, 0x49, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x41, 0x42, 0x42, 0x42, 0x42, 0x4F, 0x3F, 0x4D, 0x4F, 0x3E, 0x4D, 0x4E, 0x4E, 0x50, 0x51, 0x4E, 0x4E, 0x4F, 0x3E, 0x4D, 0x4F, 0x3F, 0x4D, 0x42, 0x42, 0x42, 0x42, 0x45, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x46, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4C, 0x3F, 0x49, 0x46, 0x3F, 0x4D, 0x4E, 0x50, 0x48, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x47, 0x51, 0x4E, 0x4F, 0x3F, 0x49, 0x46, 0x40, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3E, 0x3E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x40, 0x49, 0x5D, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4C, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x4A, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x5E, 0x5F, 0x4E, 0x4F, 0x3F, 0x4D, 0x4F, 0x3F, 0x47, 0x48, 0x3F, 0x4D, 0x4E, 0x4E, 0x50, 0x51, 0x4E, 0x4E, 0x4F, 0x3F, 0x47, 0x48, 0x3F, 0x4D, 0x4F, 0x3F, 0x4D, 0x4E, 0x60, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x47, 0x48, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x49, 0x46, 0x3F, 0x4A, 0x4B, 0x4B, 0x4B, 0x4B, 0x55, 0x54, 0x4B, 0x4B, 0x4C, 0x3F, 0x47, 0x48, 0x3F, 0x4A, 0x4B, 0x4B, 0x55, 0x54, 0x4B, 0x4B, 0x4B, 0x4B, 0x4C, 0x3F, 0x49, 0x46, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x4D, 0x4F, 0x3F, 0x4D, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4F, 0x3F, 0x49, 0x46, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xLine truncated
Uint8 pac_anims[2][4] { {11, 14, 12, 14}, {11, 15, 13, 15} }; Uint8 pac_anims[2][4] { {11, 14, 12, 14}, {11, 15, 13, 15} };
int8_t delta[4] = {1,-1,28,-28};
int8_t dd[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};
Pacman pacman; Pacman pacman;
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
@@ -16,44 +18,22 @@ int main(int argc, char* argv[]) {
sdlRenderer = SDL_CreateRenderer(sdlWindow, -1, SDL_RENDERER_PRESENTVSYNC); sdlRenderer = SDL_CreateRenderer(sdlWindow, -1, SDL_RENDERER_PRESENTVSYNC);
SDL_RenderSetLogicalSize(sdlRenderer, 224, 288); SDL_RenderSetLogicalSize(sdlRenderer, 224, 288);
sdlTexture = SDL_CreateTextureFromSurface(sdlRenderer, SDL_LoadBMP_RW(SDL_RWFromMem(bmp, 576), 1)); sdlTexture = SDL_CreateTextureFromSurface(sdlRenderer, SDL_LoadBMP_RW(SDL_RWFromMem(bmp, 576), 1));
uint8_t key = 0;
while(!should_exit) { while(!should_exit) {
while(SDL_PollEvent(&sdlEvent)) { while(SDL_PollEvent(&sdlEvent)) {
if (sdlEvent.type == SDL_QUIT) { should_exit = true; break; } if (sdlEvent.type == SDL_QUIT) { should_exit = true; break; }
if (sdlEvent.type == SDL_KEYDOWN) { key = sdlEvent.key.keysym.scancode; }
} }
const Uint8* keys = SDL_GetKeyboardState(NULL);
int want_orient = -1; int want_orient = -1;
if (keys[SDL_SCANCODE_RIGHT]) want_orient = 0; const int pp = (pacman.pos.x>>3) + (pacman.pos.y>>3)*28;
if (keys[SDL_SCANCODE_DOWN]) want_orient = 1; if (key >= SDL_SCANCODE_RIGHT && key <= SDL_SCANCODE_UP) want_orient = key-79;
if (keys[SDL_SCANCODE_LEFT]) want_orient = 2; if (pacman.orient != -1) pacman.anim_frame=(pacman.anim_frame+1)&0x7;
if (keys[SDL_SCANCODE_UP]) want_orient = 3; if (pacman.anim_frame == 0) {
if (pacman.orient > -1) pacman.anim_frame++; if ((want_orient!=-1) && (map[pp+delta[want_orient]] < 65)) pacman.orient = want_orient;
if (pacman.anim_frame == 8 || pacman.anim_frame == 0) { else if (map[pp+delta[pacman.orient]] >= 65) pacman.orient = -1;
pacman.anim_frame = 0;
switch (want_orient) {
case 0: if (map[((pacman.pos.x+8)/8)+((pacman.pos.y)/8)*28] < 65) pacman.orient = want_orient; break;
case 1: if (map[((pacman.pos.x)/8)+((pacman.pos.y+8)/8)*28] < 65) pacman.orient = want_orient; break;
case 2: if (map[((pacman.pos.x-1)/8)+((pacman.pos.y)/8)*28] < 65) pacman.orient = want_orient; break;
case 3: if (map[((pacman.pos.x)/8)+((pacman.pos.y-1)/8)*28] < 65) pacman.orient = want_orient; break;
} }
if (pacman.orient != want_orient) { if (pacman.orient!=-1) { pacman.pos.x+=dd[pacman.orient][0]; pacman.pos.y+=dd[pacman.orient][1]; }
switch (pacman.orient) { map[pp] = 62;
case 0: if (map[((pacman.pos.x+8)/8)+((pacman.pos.y)/8)*28] >= 65) pacman.orient = -1; break;
case 1: if (map[((pacman.pos.x)/8)+((pacman.pos.y+8)/8)*28] >= 65) pacman.orient = -1; break;
case 2: if (map[((pacman.pos.x-1)/8)+((pacman.pos.y)/8)*28] >= 65) pacman.orient = -1; break;
case 3: if (map[((pacman.pos.x)/8)+((pacman.pos.y-1)/8)*28] >= 65) pacman.orient = -1; break;
}
}
}
switch (pacman.orient) {
case 0: pacman.pos.x++; break;
case 1: pacman.pos.y++; break;
case 2: pacman.pos.x--; break;
case 3: pacman.pos.y--; break;
}
map[((pacman.pos.x)/8)+((pacman.pos.y)/8)*28] = 62;
SDL_SetRenderDrawColor(sdlRenderer, 0, 0, 0, 255);
SDL_RenderClear(sdlRenderer);
int x=0, y=24; int x=0, y=24;
for (int i=0; i<868; i++) { for (int i=0; i<868; i++) {
@@ -65,9 +45,9 @@ int main(int argc, char* argv[]) {
x+=8; if (x==224) { x=0; y+=8; } x+=8; if (x==224) { x=0; y+=8; }
} }
int orient = pacman.orient == -1 ? 0 : pacman.orient; int orient = pacman.orient == -1 ? 0 : pacman.orient;
SDL_Rect src { 16*(pac_anims[orient%2][pacman.anim_frame/2]%4), 16*(pac_anims[orient%2][pacman.anim_frame/2]/4), 16, 16 }, dst { pacman.pos.x-4, pacman.pos.y+20, 16, 16 }; SDL_Rect src { 16*(pac_anims[orient>>1][pacman.anim_frame/2]%4), 16*(pac_anims[orient>>1][pacman.anim_frame/2]/4), 16, 16 }, dst { pacman.pos.x-4, pacman.pos.y+20, 16, 16 };
SDL_SetTextureColorMod(sdlTexture, 255, 255, 0); SDL_SetTextureColorMod(sdlTexture, 255, 255, 0);
SDL_RenderCopyEx(sdlRenderer, sdlTexture, &src, &dst, 0, NULL, pacman.orient == 2 ? SDL_FLIP_HORIZONTAL : pacman.orient == 3 ? SDL_FLIP_VERTICAL : SDL_FLIP_NONE ); SDL_RenderCopyEx(sdlRenderer, sdlTexture, &src, &dst, 0, NULL, pacman.orient == 1 ? SDL_FLIP_HORIZONTAL : pacman.orient == 3 ? SDL_FLIP_VERTICAL : SDL_FLIP_NONE );
SDL_RenderPresent(sdlRenderer); SDL_RenderPresent(sdlRenderer);
} }
SDL_Quit(); SDL_Quit();