diff --git a/game.h b/game.h index e0313c3..c3a7e0f 100755 --- a/game.h +++ b/game.h @@ -159,7 +159,13 @@ void SFG_init(); /** Can be redefined to platform's specifier of program memory. */ -#define SFG_PROGRAM_MEMORY static const +#ifndef SFG_PROGRAM_MEMORY + #define SFG_PROGRAM_MEMORY static const +#endif + +#ifndef SFG_PROGRAM_MEMORY_U8 + #define SFG_PROGRAM_MEMORY_U8(addr) ((uint8_t) (*(addr))) +#endif #include "images.h" #include "levels.h" @@ -694,7 +700,7 @@ const uint8_t *SFG_getMonsterSprite( break; } - return SFG_monsterSprites[index]; + return SFG_monsterSprites + index * SFG_TEXTURE_STORE_SIZE; } /** @@ -798,7 +804,8 @@ static inline uint8_t SFG_getTexel( textureIndex != 255 ? SFG_currentLevel.textures[textureIndex] : - SFG_wallTextures[SFG_currentLevel.levelPointer->doorTextureIndex], + (SFG_wallTextures + SFG_currentLevel.levelPointer->doorTextureIndex + * SFG_TEXTURE_STORE_SIZE), u / 32, v / 32); } @@ -900,8 +907,8 @@ void SFG_pixelFunc(RCL_PixelInfo *pixel) else { #if SFG_DRAW_LEVEL_BACKGROUND - color = SFG_getTexel( - SFG_backgroundImages[SFG_currentLevel.backgroundImage], + color = SFG_getTexel(SFG_backgroundImages + + SFG_currentLevel.backgroundImage * SFG_TEXTURE_STORE_SIZE, SFG_game.backgroundScaleMap[((pixel->position.x #if SFG_BACKGROUND_BLUR != 0 + SFG_backgroundBlurOffsets[SFG_backgroundBlurIndex] @@ -1336,7 +1343,7 @@ void SFG_getItemSprite( uint8_t elementType, const uint8_t **sprite, uint8_t *spriteSize) { *spriteSize = 0; - *sprite = (const uint8_t *) &(SFG_itemSprites[elementType - 1]); + *sprite = SFG_itemSprites + (elementType - 1) * SFG_TEXTURE_STORE_SIZE; switch (elementType) { @@ -1359,8 +1366,8 @@ void SFG_getItemSprite( case SFG_LEVEL_ELEMENT_CARD0: case SFG_LEVEL_ELEMENT_CARD1: case SFG_LEVEL_ELEMENT_CARD2: - *sprite = - (const uint8_t *) &(SFG_itemSprites[SFG_LEVEL_ELEMENT_CARD0 - 1]); + *sprite = SFG_itemSprites + + (SFG_LEVEL_ELEMENT_CARD0 - 1) * SFG_TEXTURE_STORE_SIZE; break; case SFG_LEVEL_ELEMENT_BLOCKER: @@ -1415,7 +1422,7 @@ void SFG_setAndInitLevel(uint8_t levelNumber) for (uint8_t i = 0; i < 7; ++i) SFG_currentLevel.textures[i] = - SFG_wallTextures[level->textureIndices[i]]; + SFG_wallTextures + level->textureIndices[i] * SFG_TEXTURE_STORE_SIZE; SFG_LOG("initializing doors"); @@ -1585,7 +1592,8 @@ void SFG_init() for (uint8_t y = 0; y < SFG_TEXTURE_SIZE; ++y) for (uint8_t x = 0; x < SFG_TEXTURE_SIZE; ++x) { - uint8_t color = SFG_getTexel(SFG_wallTextures[i],x,y) / 4; + uint8_t color = + SFG_getTexel(SFG_wallTextures + i * SFG_TEXTURE_STORE_SIZE,x,y) / 4; colorHistogram[color] += 1; @@ -3927,7 +3935,7 @@ void SFG_drawStoryText() SFG_clearScreen(9); - SFG_blitImage(SFG_monsterSprites[18], + SFG_blitImage(SFG_monsterSprites + 18 * SFG_TEXTURE_SIZE, (SFG_GAME_RESOLUTION_X - SFG_TEXTURE_SIZE * SFG_FONT_SIZE_SMALL) / 2, SFG_GAME_RESOLUTION_Y - (SFG_TEXTURE_SIZE + 3) * SFG_FONT_SIZE_SMALL, SFG_FONT_SIZE_SMALL); @@ -4061,7 +4069,7 @@ void SFG_drawWeapon(int16_t bobOffset) ((fireType == SFG_WEAPON_FIRE_TYPE_FIREBALL) || (fireType == SFG_WEAPON_FIRE_TYPE_BULLET)) && shotAnimationFrame < animationLength / 2) - SFG_blitImage(SFG_effectSprites[0], + SFG_blitImage(SFG_effectSprites, SFG_WEAPON_IMAGE_POSITION_X, SFG_WEAPON_IMAGE_POSITION_Y - (SFG_TEXTURE_SIZE / 3) * SFG_WEAPON_IMAGE_SCALE + bobOffset, @@ -4069,7 +4077,7 @@ void SFG_drawWeapon(int16_t bobOffset) } } - SFG_blitImage(SFG_weaponImages[SFG_player.weapon], + SFG_blitImage(SFG_weaponImages + SFG_player.weapon * SFG_TEXTURE_STORE_SIZE, SFG_WEAPON_IMAGE_POSITION_X, SFG_WEAPON_IMAGE_POSITION_Y + bobOffset - 1, SFG_WEAPON_IMAGE_SCALE); @@ -4118,7 +4126,7 @@ void SFG_drawMenu() for (uint16_t x = 0; x < SFG_GAME_RESOLUTION_X; ++x) SFG_setGamePixel(x,y, (y >= (SFG_TEXTURE_SIZE * BACKGROUND_SCALE)) ? 0 : - SFG_getTexel(SFG_backgroundImages[0],((x + scroll) / BACKGROUND_SCALE) + SFG_getTexel(SFG_backgroundImages,((x + scroll) / BACKGROUND_SCALE) % SFG_TEXTURE_SIZE,y / BACKGROUND_SCALE)); uint16_t y = SFG_characterSize(SFG_FONT_SIZE_MEDIUM); @@ -4455,7 +4463,8 @@ void SFG_draw() RCL_PixelInfo p = RCL_mapToScreen(worldPosition,proj->position[2],SFG_player.camera); - const uint8_t *s = SFG_effectSprites[proj->type]; + const uint8_t *s = + SFG_effectSprites + proj->type * SFG_TEXTURE_STORE_SIZE; int16_t spriteSize = SFG_SPRITE_SIZE_PIXELS(0); diff --git a/images.h b/images.h index 8193a04..4f7934b 100644 --- a/images.h +++ b/images.h @@ -39,17 +39,17 @@ static inline uint8_t SFG_getTexel(const uint8_t *texture, uint8_t x, uint8_t y) x &= 0x1f; y &= 0x1f; - return texture[ - (texture[16 + (x * SFG_TEXTURE_SIZE + y) / 2] >> (4 * (y % 2 == 0))) - & 0x0f]; + return SFG_PROGRAM_MEMORY_U8 (texture + + ((SFG_PROGRAM_MEMORY_U8(texture + 16 + (x * SFG_TEXTURE_SIZE + y) / 2) >> + (4 * (y % 2 == 0))) & 0x0f)); } #define SFG_WALL_TEXTURE_COUNT 16 SFG_PROGRAM_MEMORY uint8_t - SFG_wallTextures[SFG_WALL_TEXTURE_COUNT][SFG_TEXTURE_STORE_SIZE] = + SFG_wallTextures[SFG_WALL_TEXTURE_COUNT * SFG_TEXTURE_STORE_SIZE] = { - { // 0, white wooden planks +// 0, white wooden planks 4,21,5,3,20,0,2,26,6,18,57,65,1,16,17,49,0,1,0,3,32,1,33,0,161,64,1,16,64,3,3, 32,0,17,16,9,32,1,17,1,161,65,1,16,78,132,35,32,0,17,16,7,32,1,32,17,240,49,0, 16,57,99,87,206,0,18,16,6,33,0,16,1,177,48,0,0,97,0,2,0,0,17,32,6,32,1,0,1,178, @@ -68,8 +68,7 @@ SFG_PROGRAM_MEMORY uint8_t 18,16,50,48,16,19,51,48,51,51,16,1,16,0,98,50,1,19,66,48,32,3,0,1,0,3,32,1,33,0, 177,49,2,16,66,64,16,3,0,1,0,7,32,1,16,1,82,64,1,16,50,0,16,35,0,1,0,9,33,2,32, 0,161,64,1,20,48,0,0,32 - }, - { // 1, skyscraper window +, // 1, skyscraper window 4,5,3,6,2,81,0,59,48,128,138,131,66,44,137,129,16,176,208,176,44,33,0,0,1,43,1, 13,0,32,29,0,0,176,0,0,12,64,0,17,0,32,0,17,1,32,13,11,0,176,0,208,4,65,0,0,0, 34,1,16,1,32,16,0,23,32,0,2,40,66,2,194,230,140,34,208,2,176,17,0,119,76,66,34, @@ -90,8 +89,7 @@ SFG_PROGRAM_MEMORY uint8_t 71,39,34,180,36,66,34,2,32,32,192,17,19,66,192,0,16,176,66,34,34,34,200,36,34, 34,36,68,44,221,192,0,0,10,32,0,16,1,34,16,16,0,11,0,16,13,64,0,0,10,0,0,0,1,34, 0,1,1,2,16,0,1,176,27,0,11,33,0,17,0,112,0,1,17,113,16,0 - }, - { // 2, pink high-tech wall +, // 2, pink high-tech wall 83,4,12,5,84,20,61,85,13,6,11,3,7,14,15,0,34,32,34,0,32,2,170,34,170,160,170, 160,17,17,17,17,34,34,32,34,42,34,170,2,42,42,170,170,17,17,17,17,34,34,34,36, 34,160,36,32,160,160,42,10,49,17,17,17,34,34,34,42,34,0,0,0,0,0,0,4,49,49,17,17, @@ -114,8 +112,7 @@ SFG_PROGRAM_MEMORY uint8_t 136,135,215,231,116,119,119,119,119,119,119,60,51,60,60,37,120,135,114,119,135, 125,120,116,212,68,114,60,60,57,57,34,117,136,135,135,120,132,136,136,136,136, 71,57,57,57,153 - }, - { // 3, partly mossy concrete wall +, // 3, partly mossy concrete wall 4,3,5,36,20,37,76,12,11,19,77,130,13,35,2,0,2,0,0,80,32,0,0,1,5,37,1,64,4,25,19, 145,0,32,96,32,0,16,48,24,115,48,65,53,48,16,113,11,2,0,0,0,0,0,0,152,3,48,49, 48,51,19,1,17,0,32,16,48,0,16,0,8,0,0,1,67,0,23,19,17,2,0,5,48,0,16,0,24,115,65, @@ -133,8 +130,7 @@ SFG_PROGRAM_MEMORY uint8_t 160,4,52,8,4,0,1,4,0,0,112,113,2,194,2,0,0,0,2,1,5,85,64,211,4,48,0,1,2,32,0,42, 0,21,4,8,64,68,45,4,48,0,23,27,2,32,96,0,0,16,0,1,5,80,0,85,3,16,0,1,2,194,0,0, 0,16,48,17,84,85,0,48,64,144,25,17,0,32,96,0,0,0,64,13,3,68,0,5,48,16,0,17 - }, - { // 4, wooden chess pattern +, // 4, wooden chess pattern 20,12,11,21,2,43,19,73,1,83,81,10,9,34,42,65,86,82,91,85,89,249,149,153,66,34, 40,34,34,114,34,36,0,0,0,48,48,35,0,2,33,18,39,17,17,66,17,18,0,0,5,48,3,96,3, 50,33,34,40,33,33,113,17,18,96,0,6,48,3,99,3,50,33,34,23,33,18,129,17,18,80,3,5, @@ -154,8 +150,7 @@ SFG_PROGRAM_MEMORY uint8_t 17,66,34,36,3,51,52,48,3,83,1,5,65,34,20,17,17,68,17,20,3,51,54,48,48,35,48,5, 65,33,20,34,17,66,17,18,3,0,52,51,51,35,48,5,65,33,20,17,17,65,18,18,3,51,54,51, 0,35,48,5,32,80,106,0,80,101,6,2,85,85,92,86,86,160,5,82 - }, - { // 5, red brick wall +, // 5, red brick wall 13,5,6,21,93,101,4,100,11,7,19,3,106,178,0,0,33,17,22,37,48,8,33,3,54,33,64,0,1, 20,5,70,37,0,88,37,85,88,32,64,4,17,64,0,65,20,0,70,32,51,56,37,85,8,33,0,4,17, 83,51,81,20,96,70,32,3,52,38,51,8,33,3,4,18,83,51,81,20,85,70,38,6,4,32,51,8,33, @@ -175,8 +170,7 @@ SFG_PROGRAM_MEMORY uint8_t 3,52,17,67,4,35,51,48,98,112,0,17,16,51,6,35,3,53,17,69,100,33,49,19,97,112,0, 17,37,51,6,35,3,4,17,212,4,33,3,51,98,1,0,1,36,3,6,35,3,52,18,34,34,33,3,48,177, 34,153,146,36,51,54,33,3,52,34,49,17,33,3,48,98,70,102,17,36,0,6 - }, - { // 6, grass-covered concrete wall, tiles with skyscraper window +, // 6, grass-covered concrete wall, tiles with skyscraper window 36,37,43,35,4,3,107,34,131,50,42,5,106,110,114,26,3,131,51,128,58,52,0,5,84,56, 84,2,0,48,66,0,48,128,5,5,10,112,0,68,0,48,85,68,4,144,32,1,6,32,17,0,7,116,80, 0,85,153,36,13,0,1,0,0,16,1,1,0,54,115,3,160,110,234,55,1,208,40,1,0,170,96,0, @@ -194,8 +188,7 @@ SFG_PROGRAM_MEMORY uint8_t 0,0,34,0,17,1,0,0,0,17,0,17,33,2,0,12,126,199,112,39,0,16,6,21,0,16,16,0,16,32, 32,167,51,63,62,172,151,113,0,0,2,0,1,17,48,16,16,48,69,4,51,64,64,0,16,8,96,27, 16,16,16,62,57,149,0,4,51,0,1,4,7,80,2,0,17,1,51,8,52,0,68,0,32,0,4,68,36,16,32 - }, - { // 7, steel door +, // 7, steel door 4,80,3,17,5,59,6,69,58,50,60,2,68,74,70,67,1,17,17,17,17,17,17,17,17,17,17,17, 17,17,17,17,22,102,70,102,70,102,70,102,70,100,102,100,102,100,102,97,16,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,1,16,0,32,0,32,0,32,0,32,2,0,2,0,2,0,1,19,189,187,221,189, @@ -216,8 +209,7 @@ SFG_PROGRAM_MEMORY uint8_t 189,221,187,219,219,219,187,221,187,187,221,189,189,189,177,22,102,70,102,70, 102,70,102,70,102,70,100,102,100,102,97,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,0, 32,0,32,0,32,0,32,0,32,2,0,2,0,1,1,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17 - }, - { // 8, white skull on blue +, // 8, white skull on blue 6,5,4,59,60,62,218,14,3,13,85,139,74,63,12,15,17,17,17,17,17,18,147,69,72,17,17, 17,17,17,17,17,16,16,1,1,16,18,35,51,50,17,1,1,16,16,1,17,16,0,0,0,0,18,36,99, 82,16,16,0,0,0,0,17,0,0,0,0,0,18,37,51,82,17,0,0,0,0,0,1,16,0,0,0,0,18,35,179, @@ -237,8 +229,7 @@ SFG_PROGRAM_MEMORY uint8_t 17,16,0,0,0,0,18,37,51,82,17,16,0,0,0,0,1,0,0,0,0,0,18,45,51,66,17,0,0,0,0,0,1, 16,0,0,0,0,18,36,99,50,16,16,0,0,0,0,17,16,16,1,1,16,18,35,68,50,17,16,16,16,16, 1,17,17,17,17,17,17,18,148,85,88,17,17,17,17,17,17,17 - }, - { // 9, red lava with stones +, // 9, red lava with stones 3,4,12,11,83,94,102,92,91,14,93,15,19,20,100,0,3,82,2,83,32,67,84,1,17,17,16,5, 32,17,20,0,2,48,0,67,117,118,36,0,33,33,0,5,33,17,17,19,69,64,17,20,67,86,82,36, 17,1,0,53,1,17,17,64,56,1,17,17,0,130,50,117,131,64,4,39,0,17,17,0,32,1,17,17,3, @@ -258,8 +249,7 @@ SFG_PROGRAM_MEMORY uint8_t 118,98,64,1,17,4,84,16,17,17,18,4,84,4,0,20,53,102,82,32,0,4,84,0,33,17,16,2,32, 1,17,64,39,51,69,85,117,53,156,65,1,18,50,38,36,17,17,16,34,0,0,20,67,102,101, 115,51,51,130,101,101,32,17,4,84,1,17,33,16,38,148,19,56,56 - }, - { // 10, transparent window +, // 10, transparent window 175,4,5,3,59,13,49,60,74,62,61,50,83,2,69,12,17,17,33,17,81,17,17,33,17,17,17, 17,18,34,34,17,59,17,17,17,17,17,17,17,17,17,177,17,18,34,82,33,51,51,51,51,51, 51,51,51,51,51,59,81,18,34,33,17,49,182,102,102,102,102,102,102,102,107,18,33, @@ -280,8 +270,7 @@ SFG_PROGRAM_MEMORY uint8_t 102,102,107,34,81,18,37,17,17,19,50,34,34,34,34,34,34,34,34,35,81,18,34,17,17, 59,34,34,34,34,34,34,34,34,34,181,17,18,18,81,21,17,17,17,17,33,17,17,17,21,17, 17,17,18,34,34,18 - }, - { // 11, white steel blocks +, // 11, white steel blocks 6,5,7,4,3,85,71,78,0,0,0,0,0,0,0,0,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68, 68,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,52,34,0,34,34,2,34,34,34,34,34, 0,34,34,34,0,17,0,17,0,0,0,1,16,0,0,0,0,0,1,16,17,17,0,20,0,0,0,0,0,0,0,0,0,0,1, @@ -298,8 +287,7 @@ SFG_PROGRAM_MEMORY uint8_t 34,0,34,34,34,34,34,34,32,2,34,17,0,17,1,1,16,0,0,0,0,0,17,0,1,16,0,17,0,20,0,0, 0,0,0,0,0,0,0,0,1,64,1,17,0,0,0,0,0,0,0,1,0,0,0,0,16,0,17,17,17,17,17,17,17,17, 17,17,21,17,17,17,17,17,17,19,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51 - }, - { // 12, gray square-tiled wall +, // 12, gray square-tiled wall 4,5,3,13,50,6,12,21,85,20,14,11,19,22,84,0,17,17,17,17,17,17,17,18,17,17,17,17, 17,17,17,20,17,3,16,8,17,16,0,18,17,16,1,1,0,3,16,18,16,1,16,1,0,49,17,48,17,1, 3,6,0,17,3,2,16,16,0,16,16,24,16,16,17,0,0,23,16,0,0,2,16,1,3,17,1,16,16,18,19, @@ -318,8 +306,7 @@ SFG_PROGRAM_MEMORY uint8_t 0,2,16,1,0,16,3,0,48,0,16,0,0,0,0,224,0,4,16,48,3,1,0,0,16,50,16,3,0,48,0,3,0, 52,16,16,1,16,0,0,0,2,16,16,0,0,2,2,1,4,68,66,32,34,36,34,34,36,34,36,34,34,68, 68,68,68 - }, - { // 13, scifi door +, // 13, scifi door 3,2,4,9,0,74,200,10,75,41,160,48,120,17,34,50,68,68,68,68,68,68,68,68,70,102, 102,102,102,102,102,102,85,85,153,85,85,153,85,85,85,136,136,136,136,136,136, 136,149,153,153,147,147,57,55,57,125,238,88,135,127,85,119,119,51,147,51,51,51, @@ -341,8 +328,7 @@ SFG_PROGRAM_MEMORY uint8_t 119,119,119,119,119,119,149,153,153,147,147,121,55,62,119,238,88,135,127,85,119, 119,85,85,153,85,85,153,85,85,152,136,136,136,136,136,136,136,68,68,68,68,68,68, 68,68,102,102,102,102,102,102,102,102 - }, - { // 14, concrete wall, tiles with skyscraper window +, // 14, concrete wall, tiles with skyscraper window 5,4,3,2,6,44,131,66,50,51,45,81,132,28,138,1,1,97,81,193,39,32,17,17,16,44,16, 21,17,33,5,17,17,97,17,17,23,49,17,0,17,33,17,0,16,33,21,28,17,97,17,81,19,48, 17,17,17,34,16,1,16,33,1,17,9,33,17,18,47,50,18,130,255,248,34,81,18,97,0,17, @@ -361,8 +347,7 @@ SFG_PROGRAM_MEMORY uint8_t 99,35,50,34,18,33,33,129,0,4,50,129,17,1,193,50,34,34,34,143,35,34,34,35,51,39, 85,113,17,17,22,33,17,1,16,34,1,1,161,22,17,1,21,49,17,17,30,17,17,17,16,34,17, 16,16,18,10,17,16,97,12,17,22,32,17,0,17,145,17,16,0,144,1,17 - }, - { // 15, computer tech wall +, // 15, computer tech wall 52,59,53,220,38,141,54,143,75,76,77,61,74,5,66,95,48,0,0,0,10,17,0,0,0,0,38,0,0, 0,0,51,16,0,2,1,17,17,0,0,16,0,38,0,0,0,0,3,10,0,0,0,17,1,17,17,17,16,34,0,1,0, 0,0,7,0,0,0,17,49,81,33,33,32,34,48,1,48,0,0,2,0,0,0,17,1,1,17,17,16,38,0,0,0,0, @@ -380,12 +365,11 @@ SFG_PROGRAM_MEMORY uint8_t 195,0,17,0,0,5,49,34,0,3,0,160,3,0,0,5,48,206,17,4,208,109,0,2,48,0,112,2,3,57, 0,0,0,1,17,13,208,221,51,18,17,0,176,3,3,19,0,5,16,0,1,3,0,49,19,50,17,1,0,51,1, 144,0,48,0,0,17,0,0,0,48,34,49,48,0,0,3,48,0,0,0,10,17,0,0,0,0,38,0,0,0,0,51 - } }; -SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = +SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[13 * SFG_TEXTURE_STORE_SIZE] = { - { // 0, barrel +// 0, barrel 175,6,106,29,100,84,7,92,2,43,10,11,46,4,28,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0, 15,240,0,0,0,0,0,0,255,248,255,255,255,255,255,255,248,143,255,255,255,255,255, @@ -407,8 +391,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 236,193,193,193,17,195,65,17,17,225,68,62,175,250,34,34,34,34,34,36,225,228,34, 34,34,34,34,36,175,251,0,0,0,0,0,0,4,64,0,0,0,0,0,0,191,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 1, health +, // 1, health 175,7,73,6,174,5,69,4,71,53,3,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,34,34,32,0,2,34,34,32,0,0,0,0,0,0,0,2,17,17,18,34,33,17,17, @@ -427,8 +410,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 119,119,114,34,39,119,119,114,0,0,0,0,0,0,0,0,34,34,32,0,2,34,34,32,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 2, ammo: bullets +, // 2, ammo: bullets 175,124,168,112,125,5,194,21,19,17,113,190,2,3,4,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,0,0,0,0,0,0,0,0,0,0,0,0,51,136,200,211,0,0, 0,0,0,0,0,0,0,0,0,3,120,119,215,195,32,0,0,0,0,2,34,34,34,34,34,35,51,51,51,54, @@ -448,8 +430,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,34,42,65,17,85,81,17,67,32,0,0,0,0,0,0,0,0,2,65,17,85,81,17,65,32,0,0,0,0,0, 0,0,0,2,34,34,34,34,34,65,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,32,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 3, ammo: rockets +, // 3, ammo: rockets 175,1,117,120,30,3,33,82,5,98,101,102,2,178,174,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,204,16,0,0,0,0,0,0,0,0,0, 0,0,0,17,26,197,81,17,17,17,16,0,0,0,0,0,0,0,17,204,202,85,92,113,119,23,16,0,0, @@ -470,8 +451,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 203,238,192,0,0,0,0,0,0,0,0,0,6,68,105,209,203,190,192,0,0,0,0,0,0,0,0,0,0,102, 1,145,28,188,0,0,0,0,0,0,0,0,0,0,0,0,0,17,16,192,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 4, ammo: plasma +, // 4, ammo: plasma 175,0,6,2,4,5,206,7,205,142,207,116,62,1,115,201,0,0,0,0,17,17,17,17,17,17,0,1, 16,0,0,0,0,0,0,1,52,66,66,66,68,67,16,22,97,0,0,0,0,0,0,19,67,17,17,17,17,52,17, 24,129,17,17,16,0,0,1,52,49,15,255,17,243,17,221,21,65,221,61,16,0,0,1,67,16, @@ -492,8 +472,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 0,1,67,17,166,104,136,55,34,153,34,34,37,114,16,0,0,1,52,61,54,102,104,55,34,34, 34,34,37,114,16,0,0,0,19,67,29,221,221,245,85,85,85,85,84,84,16,0,0,0,1,52,66, 66,66,67,51,17,19,49,17,17,16,0,0,0,0,17,17,17,17,17,17,0,1,16,0,0,0 - }, - { // 5, tree +, // 5, tree 175,0,5,3,4,196,20,114,2,38,115,17,22,192,37,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,0,0,0,1,17,16,0,0,0,0,0,0,0,17,22,36,0,0,0,25, 153,145,0,0,0,0,0,0,1,36,130,36,0,0,1,153,238,81,0,0,0,0,17,17,1,34,130,36,0,0, @@ -514,8 +493,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 0,1,17,17,34,130,36,0,0,0,0,30,229,167,16,0,0,0,0,1,36,130,36,0,0,0,0,30,90,125, 16,0,0,0,0,0,17,22,36,0,0,0,0,1,167,209,0,0,0,0,0,0,0,1,17,0,0,0,0,0,17,16,0,0, 0,0,0,0,0,0,0 - }, - { // 6, finish +, // 6, finish 175,3,4,0,5,1,2,6,50,7,198,209,48,42,44,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,147,3,51,51,51,51,51, 51,51,51,51,51,51,51,51,54,115,3,153,153,153,34,153,153,146,41,153,153,34,153, @@ -537,8 +515,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 99,3,51,51,51,51,51,51,51,51,51,51,51,51,51,53,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, 83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0 - }, - { // 7, teleport +, // 7, teleport 175,0,151,6,3,143,5,134,4,53,55,63,127,45,71,2,0,0,0,0,17,16,0,0,1,17,0,0,0,0,0, 0,0,0,0,1,56,17,0,0,19,129,16,0,1,17,17,16,0,0,0,1,102,129,0,0,22,104,16,0,31, 241,17,17,0,0,0,1,102,129,0,0,22,104,16,0,24,143,31,241,0,1,17,17,68,68,17,17, @@ -561,8 +538,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 24,54,246,129,0,0,0,1,102,129,0,0,22,104,16,0,19,111,24,129,0,0,0,1,102,129,0,0, 22,104,16,0,22,129,20,65,0,0,0,1,56,17,0,0,19,129,16,0,1,17,17,16,0,0,0,0,17,16, 0,0,1,17,0,0,0,0,0,0 - }, - { // 8, computer terminal +, // 8, computer terminal 175,0,1,85,5,4,23,6,9,26,80,65,2,84,161,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,17,0,1,17,17,17,17,17,17,0,1,16,0,0,0,1,116,0,22,101,101,102,102,102, @@ -583,8 +559,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 17,0,1,16,0,0,0,1,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 9, column +, // 9, column 175,2,4,3,5,48,6,63,51,7,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,65,0,0,0, @@ -602,8 +577,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,0,0,0,0,17,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 10, ruin +, // 10, ruin 175,5,4,3,50,153,2,75,12,6,13,21,240,17,74,83,0,0,0,0,0,0,0,5,0,0,0,9,25,56,18, 19,0,0,0,0,0,0,0,5,0,0,0,145,34,162,56,35,0,0,0,0,0,0,0,117,0,0,0,18,19,49,35, 50,0,0,0,0,119,87,116,69,119,87,82,25,34,51,50,162,0,0,0,5,84,84,84,84,84,85,69, @@ -622,8 +596,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,7,80,0,6,18,35,238,102,102,0,0,0,0,0,0,0,7,80,0,3,18,34,243,51,230,0,0,0,0, 0,84,68,71,84,119,117,146,34,40,51,246,0,0,0,0,0,0,68,85,85,85,67,18,35,35,34, 52,0,0,0,0,0,0,0,5,80,0,0,51,51,51,51,51,0,0,0,0,0,0,0,5,0,0,0,0,51,50,51,35 - }, - { // 11, lamp +, // 11, lamp 175,0,49,31,7,106,27,28,107,3,4,105,1,2,26,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -640,8 +613,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 12, access card +, // 12, access card 175,0,21,45,44,23,46,2,19,34,69,22,68,60,131,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,1, 68,17,24,102,101,86,97,0,0,0,0,0,0,0,0,1,68,17,24,102,85,86,101,16,0,0,0,0,0,0, @@ -660,12 +632,11 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 1,51,17,23,66,130,34,130,34,16,0,0,0,0,0,0,1,51,17,23,66,130,34,130,34,16,0,0,0, 0,0,0,0,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0 - } }; -SFG_PROGRAM_MEMORY uint8_t SFG_backgroundImages[][SFG_TEXTURE_STORE_SIZE] = +SFG_PROGRAM_MEMORY uint8_t SFG_backgroundImages[3 * SFG_TEXTURE_STORE_SIZE] = { - { // 0, city +// 0, city 64,10,73,168,19,12,14,13,80,1,72,101,0,100,136,57,17,17,17,68,87,119,119,119, 118,8,0,32,0,46,34,154,17,17,20,85,84,85,119,118,102,96,0,130,130,2,34,154,17, 17,20,65,68,69,119,102,99,48,48,0,2,32,34,154,17,17,17,17,68,68,87,118,102,102, @@ -687,8 +658,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_backgroundImages[][SFG_TEXTURE_STORE_SIZE] = 102,102,128,0,2,34,154,17,17,20,85,87,107,219,190,0,8,8,0,0,32,34,154,17,17,20, 84,86,107,182,102,102,3,224,0,2,2,34,154,17,17,20,68,71,103,118,110,0,8,0,40,34, 32,34,154,17,17,17,68,71,102,103,102,102,102,104,128,0,2,34,154 - }, - { // 1, reddish scifi interior +, // 1, reddish scifi interior 168,18,17,19,65,153,1,9,152,232,0,45,61,80,96,160,18,114,34,34,34,34,34,80,0,0, 0,0,0,0,0,0,18,114,34,34,34,34,34,80,0,0,0,0,0,0,0,0,0,215,34,34,34,34,34,80,0, 0,0,0,0,0,0,0,0,119,34,34,34,34,34,80,0,0,0,0,0,0,0,0,0,214,34,34,34,34,34,34, @@ -707,8 +677,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_backgroundImages[][SFG_TEXTURE_STORE_SIZE] = 85,85,51,195,51,51,51,51,52,64,0,0,0,0,0,0,18,114,17,17,17,17,17,17,18,64,0,0,0, 0,0,0,18,113,17,17,17,17,17,17,17,64,0,0,0,0,0,0,18,115,51,51,51,51,51,80,0,0,0, 0,0,0,0,0,18,115,51,51,51,51,51,80,0,0,0,0,0,0,0,0 - }, - { // 2, red city at night +, // 2, red city at night 171,1,175,90,172,174,173,25,27,30,91,103,0,0,0,0,113,23,113,17,51,68,68,102,102, 85,82,34,34,34,38,49,113,23,113,17,51,68,68,102,102,85,82,34,34,34,35,51,113,0, 0,0,0,0,0,0,68,69,85,19,4,101,166,17,113,0,0,4,68,102,102,85,85,81,17,19,4,101, @@ -729,12 +698,11 @@ SFG_PROGRAM_MEMORY uint8_t SFG_backgroundImages[][SFG_TEXTURE_STORE_SIZE] = 17,17,17,16,0,68,70,101,1,19,4,101,81,34,152,119,16,0,0,0,4,68,64,17,17,19,4, 101,34,36,152,119,16,0,0,0,0,68,70,101,1,19,4,101,35,51,135,119,16,0,0,0,0,4,70, 101,85,34,34,34,35,54,119,23,16,0,0,0,0,0,0,4,69,82,34,34,35,51 - } }; -SFG_PROGRAM_MEMORY uint8_t SFG_weaponImages[][SFG_TEXTURE_STORE_SIZE] = +SFG_PROGRAM_MEMORY uint8_t SFG_weaponImages[6 * SFG_TEXTURE_STORE_SIZE] = { - { // 0, knife +// 0, knife 175,0,5,2,6,4,3,83,1,77,85,61,60,62,63,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,1,153,163,16,0,0,0,0,0,0,0,0,0,0,0,0,1,170, @@ -752,8 +720,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_weaponImages[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,0,0,0,0,0,26,119,16,0,0,0,0,0,0,0,0,0,0,0,0,1,154,151,16,0,0,0,0,0,0,0,0, 0,0,0,0,1,170,167,16,0,0,0,0,0,0,0,0,0,0,0,0,1,153,163,16,0,0,0,0,0,0,0,0,0,0,0, 0,0,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 1, shotgun +, // 1, shotgun 175,1,3,4,6,101,5,17,7,100,2,99,19,21,25,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,0, 0,0,0,0,0,0,0,0,0,0,0,17,17,121,153,0,0,0,0,0,0,0,0,0,0,1,17,100,55,149,85,0,0, 0,0,0,0,0,0,1,17,22,67,70,121,85,221,0,0,0,0,0,0,0,17,19,52,136,65,38,123,85, @@ -774,8 +741,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_weaponImages[][SFG_TEXTURE_STORE_SIZE] = 185,85,0,0,0,0,0,0,0,0,1,17,18,58,58,126,185,85,0,0,0,0,0,0,0,0,0,0,1,17,51,167, 235,85,0,0,0,0,0,0,0,0,0,0,0,0,17,17,122,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 2, machine gun +, // 2, machine gun 175,4,2,3,0,1,5,6,60,59,50,53,61,62,73,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,68,68,64,0,0,0,0, @@ -793,8 +759,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_weaponImages[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,0,0,4,18,34,85,85,82,34,51,36,0,0,0,0,0,0,0,0,68,18,37,85,84,68,68,64,0,0, 0,0,0,0,0,0,0,68,68,68,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 3, rocket launcher +, // 3, rocket launcher 175,0,115,2,37,7,25,117,6,116,114,21,5,38,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17, 0,0,0,0,0,0,0,0,0,0,0,0,17,17,196,51,16,0,0,0,0,0,0,0,0,0,0,1,136,140,67,195,16, 0,0,0,0,0,0,0,0,0,0,1,68,68,67,195,16,0,0,0,0,0,0,0,0,0,0,1,51,51,51,63,17,0,0, @@ -816,8 +781,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_weaponImages[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,0,0,0,0,0,0,0,0,0,17,107,180,75,0,0,0,0,0,0,0,0,0,0,0,0,0,18,180,68,0,0,0, 0,0,0,0,0,0,0,0,0,0,22,43,119,0,0,0,0,0,0,0,0,0,0,0,0,0,1,18,34,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,1,17 - }, - { // 4, plasma gun +, // 4, plasma gun 175,4,6,3,0,5,50,17,49,187,7,190,37,42,209,100,0,0,0,0,0,0,0,0,0,0,0,0,4,64,0, 68,0,0,0,0,0,0,0,0,0,0,68,0,76,148,68,170,0,0,0,0,0,0,0,4,64,4,198,64,70,106, 162,34,0,0,0,0,0,0,0,76,100,4,195,52,170,170,34,34,0,0,0,0,0,0,4,201,103,68,58, @@ -838,8 +802,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_weaponImages[][SFG_TEXTURE_STORE_SIZE] = 201,103,68,119,115,51,51,51,214,0,0,0,0,0,0,0,76,148,4,201,68,115,51,51,51,0,0, 0,0,0,0,0,4,64,4,198,64,70,103,51,51,0,0,0,0,0,0,0,0,0,0,68,0,76,148,68,115,0,0, 0,0,0,0,0,0,0,0,0,0,4,64,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 5, solution +, // 5, solution 6,76,175,26,48,5,4,7,57,77,75,27,58,68,2,28,34,34,34,34,34,34,34,34,40,235,180, 34,36,68,66,68,34,34,34,68,68,34,34,34,71,119,119,66,67,51,52,17,34,34,68,53,86, 68,68,46,112,87,119,4,56,136,51,170,34,34,69,102,54,102,102,135,0,87,7,99,132, @@ -861,12 +824,11 @@ SFG_PROGRAM_MEMORY uint8_t SFG_weaponImages[][SFG_TEXTURE_STORE_SIZE] = 0,99,56,142,236,170,34,34,69,51,136,136,136,71,5,96,5,99,52,174,131,170,34,34, 68,136,136,68,68,36,112,102,99,136,51,56,131,170,34,34,34,68,68,34,34,34,70,102, 51,66,72,51,52,17,34,34,34,34,34,34,34,34,36,68,68,34,36,68,66,68 - } }; -SFG_PROGRAM_MEMORY uint8_t SFG_effectSprites[][SFG_TEXTURE_STORE_SIZE] = +SFG_PROGRAM_MEMORY uint8_t SFG_effectSprites[4 * SFG_TEXTURE_STORE_SIZE] = { - { // 0, explostion +// 0, explostion 175,183,174,15,103,111,191,7,31,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0, 0,0,0,0,0,0,0,0,3,3,3,3,19,3,0,0,0,0,0,0,0,0,0,48,48,16,51,49,19,48,48,0,0,0,0, 0,0,0,3,3,1,1,19,17,131,51,49,0,0,0,0,1,16,0,0,48,50,34,20,85,120,49,17,64,0,0, @@ -886,8 +848,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_effectSprites[][SFG_TEXTURE_STORE_SIZE] = 34,34,33,145,17,18,34,19,48,0,1,17,17,19,49,49,18,17,49,19,49,18,34,35,51,0,0, 17,51,51,17,49,18,19,3,19,51,17,17,36,3,0,3,51,51,48,48,3,17,16,48,17,3,51,17, 16,0,0,3,48,3,3,0,0,16,19,0,0,0,51,51,0,0,0,51,0,0,0,0,0,1,3,48,0,51,51,48,0,0 - }, - { // 1, fireball +, // 1, fireball 175,103,183,7,191,111,254,31,95,180,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,0,16,0,0,0,0, @@ -905,8 +866,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_effectSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0 - }, - { // 2, plasma +, // 2, plasma 175,199,126,213,198,215,118,46,125,204,124,134,45,117,135,116,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,1,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,68,16,0,0,0,0,0,0,0,0,0,0,16, @@ -924,8 +884,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_effectSprites[][SFG_TEXTURE_STORE_SIZE] = 17,17,16,0,0,0,0,0,0,0,0,0,0,20,65,0,1,17,0,0,0,0,0,0,0,0,0,0,0,1,65,16,0,16,0, 0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 3, dust +, // 3, dust 175,5,3,4,53,2,6,52,50,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0, @@ -941,12 +900,11 @@ SFG_PROGRAM_MEMORY uint8_t SFG_effectSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,16,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - } }; -SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = +SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[19 * SFG_TEXTURE_STORE_SIZE] = { - { // 0, spider idle +// 0, spider idle 175,0,4,3,5,6,223,1,7,10,2,20,62,95,120,18,0,1,17,16,0,0,0,0,0,0,0,0,1,17,16,0, 0,20,45,65,0,0,0,0,0,0,0,0,21,52,33,0,1,65,170,20,16,0,0,0,0,0,0,17,133,50,51, 16,1,218,211,162,16,0,0,0,0,0,17,133,84,17,17,17,1,42,61,173,16,1,0,0,0,1,133, @@ -967,8 +925,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,1,42,211,173,16,0,0,0,0,0,17,69,85,17,17,17,1,65,170,20,16,0,0,0,0,0,0,17, 69,50,35,16,0,20,210,65,0,0,0,0,0,0,0,0,20,50,49,0,0,1,17,16,0,0,0,0,0,0,0,0,1, 17,16,0 - }, - { // 1, spider attacking +, // 1, spider attacking 175,0,183,3,4,1,191,5,31,6,7,22,10,223,20,18,0,34,37,85,43,176,0,0,0,0,0,0,17, 17,16,0,0,34,98,34,38,102,0,0,0,0,0,1,148,71,65,16,0,2,98,34,102,98,0,0,0,0,0, 89,169,52,51,49,0,2,104,40,102,32,0,0,0,0,5,170,145,17,17,16,2,38,104,136,98,32, @@ -989,8 +946,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 5,185,172,16,0,0,0,2,38,136,134,34,80,80,0,0,0,88,167,65,0,0,0,0,182,136,134,98, 80,0,0,0,0,5,185,145,17,17,16,0,34,102,102,102,32,0,0,0,0,0,87,153,52,51,49,0,2, 98,34,102,107,0,0,0,0,0,1,116,71,65,16,0,2,37,82,43,32,0,0,0,0,0,0,17,17,16,0 - }, - { // 2, spider walking +, // 2, spider walking 175,0,4,5,6,3,223,1,10,7,2,18,62,95,120,63,0,0,17,17,0,0,0,0,0,0,0,1,17,17,0,0, 0,1,50,211,16,0,0,0,0,0,0,21,51,50,16,0,0,19,26,161,49,0,0,0,0,0,17,146,35,33,0, 0,0,29,173,90,33,0,0,0,0,1,148,68,81,16,0,0,0,18,165,218,209,0,16,0,0,25,67,49, @@ -1010,8 +966,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 16,17,0,0,20,66,87,18,37,16,0,0,18,165,218,209,0,16,0,0,1,84,52,65,17,81,17,0, 29,173,90,33,0,0,0,0,0,17,19,52,82,37,16,0,19,26,161,49,0,0,0,0,0,0,1,19,82,81, 0,0,1,50,211,16,0,0,0,0,0,0,0,1,17,16,0,0,0,17,17,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 3, destroyer idle +, // 3, destroyer idle 0,175,3,4,5,73,1,6,2,77,157,79,7,78,76,75,17,0,0,0,17,17,17,17,17,17,17,17,17, 17,17,17,17,11,221,219,0,17,17,17,16,0,0,0,0,0,1,17,17,11,217,153,219,1,17,16,2, 119,114,39,116,119,1,17,17,11,189,154,155,1,16,12,194,124,204,204,199,204,1,17, @@ -1033,8 +988,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 240,5,130,51,51,51,50,80,17,17,17,17,11,189,170,175,1,16,5,34,34,34,80,1,17,17, 17,17,11,221,170,255,1,17,16,85,85,0,1,17,17,17,17,17,11,218,255,0,17,17,17,0,0, 17,17,17,17,17,17,17,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17 - }, - { // 4, destroyer attacking +, // 4, destroyer attacking 175,0,3,4,73,1,5,2,183,6,77,157,79,78,7,31,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0, 17,17,17,0,0,0,0,0,136,136,128,0,0,0,0,0,28,221,220,17,0,0,0,8,136,136,128,0,0, 0,0,0,28,218,170,220,16,1,88,136,136,255,136,128,0,0,0,0,28,218,187,172,85,94, @@ -1056,8 +1010,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 119,34,34,34,65,16,0,0,0,0,28,205,187,36,16,1,20,68,68,65,16,0,0,0,0,0,28,219, 187,33,0,0,1,17,17,16,0,0,0,0,0,0,28,219,177,16,0,0,0,0,0,0,0,0,0,0,0,0,17,17, 16,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 5, destroyer walking +, // 5, destroyer walking 175,0,3,4,1,5,2,73,6,77,79,7,78,157,75,76,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0, 26,204,202,17,0,0,1,17,17,17,0,0,0,0,0,0,26,201,153,202,16,1,19,136,130,33,17, 17,0,0,0,0,26,172,157,154,16,27,179,40,187,184,133,129,16,0,0,0,1,172,157,217, @@ -1079,8 +1032,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 51,51,33,0,0,0,0,0,26,172,221,222,16,1,17,118,34,38,97,0,0,0,0,0,26,204,221,238, 16,0,0,17,17,17,16,0,0,0,0,0,26,205,238,17,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,0,0, 0,0,0,0,0,0,0,0,0,0 - }, - { // 6, warrior idle +, // 6, warrior idle 175,0,3,5,1,4,6,7,2,62,170,63,92,93,95,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,17,17,17,17, 17,17,16,0,0,0,0,0,0,0,23,119,119,119,119,119,119,119,113,0,0,0,0,0,0,1,136,255, @@ -1099,8 +1051,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 36,68,68,0,0,0,0,0,0,0,0,0,0,0,0,1,18,34,36,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,16,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0 - }, - { // 7, warrior attacking +, // 7, warrior attacking 175,0,5,1,3,4,2,7,6,63,170,92,93,62,95,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -1118,8 +1069,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,0,0,0,0,0,17,20,57,17,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,16,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 8, plasmabot idle +, // 8, plasmabot idle 175,0,72,65,2,3,4,5,61,60,54,62,6,59,49,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2,34,34,0,0,0,0,0,0,0,0,0,0,0,0,0,42,170,170,34,0,0,0,0,0,0,1,17,0,0,0,0,42,147, 56,171,32,0,0,0,0,0,1,193,0,0,0,0,42,50,35,153,32,0,0,0,1,17,20,68,17,17,0,2, @@ -1139,8 +1089,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 68,65,0,0,40,50,35,223,32,0,0,0,1,17,17,17,17,17,0,0,41,147,61,255,32,0,0,0,0,0, 1,81,0,0,0,0,47,255,223,34,0,0,0,0,0,0,1,17,0,0,0,0,2,34,34,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 9, plasmabot attacking +, // 9, plasmabot attacking 175,198,0,2,4,3,72,39,193,5,194,6,49,192,65,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,111,193,1,0,0,0,0,0,0,0,0,0,0,0,0,6,177,17,17,0,0,0,0,0,0,2,34,0,0,0,0,15, 113,17,17,240,0,0,0,0,0,2,178,0,0,0,0,107,17,23,17,31,0,0,0,8,136,131,51,34,34, @@ -1160,8 +1109,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 17,17,0,0,0,10,69,85,51,51,50,0,0,97,17,23,17,22,0,0,0,10,168,210,34,34,34,0,0, 1,65,17,21,17,0,0,0,0,0,2,82,0,0,0,0,6,52,69,31,0,0,0,0,0,0,2,34,0,0,0,0,0,102, 102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 10, ender idle +, // 10, ender idle 0,3,4,5,2,175,1,6,52,7,93,92,50,74,73,0,85,85,85,85,0,0,0,80,5,0,5,85,85,80,0,0, 85,85,80,0,153,153,52,1,134,17,16,80,0,9,114,32,85,80,3,151,119,119,119,104,97, 135,129,9,119,115,36,16,85,9,114,115,51,51,51,54,97,114,113,99,50,17,22,16,80, @@ -1182,8 +1130,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 29,4,18,17,70,97,135,129,0,17,17,20,16,85,2,36,34,34,33,20,230,97,114,113,100, 68,17,22,16,85,80,4,193,17,204,68,104,1,135,129,4,68,68,70,16,85,85,80,0,68,68, 70,1,128,17,16,80,0,4,70,16,85,85,85,85,0,0,0,80,5,0,5,85,85,80,0,0 - }, - { // 11, ender walking +, // 11, ender walking 0,3,4,5,175,2,1,6,52,93,7,92,50,74,73,0,68,68,68,68,64,0,0,4,0,64,0,68,68,0,0,4, 68,68,68,0,10,170,114,80,136,97,17,4,0,167,34,4,68,68,0,39,119,119,119,21,86,24, 120,16,119,50,81,4,68,0,167,35,51,51,51,49,102,23,39,22,33,17,97,4,64,42,114,18, @@ -1204,8 +1151,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 80,82,17,86,96,24,120,22,1,17,22,16,68,0,33,82,34,33,21,230,96,23,39,22,85,85, 86,16,68,68,0,92,17,204,85,96,16,24,120,16,85,85,86,16,68,68,68,0,5,85,86,0,136, 1,17,4,0,0,0,0,68,68,68,68,64,0,0,68,0,64,0,68,68,68,68,68 - }, - { // 12, ender attacking +, // 12, ender attacking 0,4,5,175,3,26,28,191,6,29,2,1,30,7,105,27,51,51,51,51,48,0,0,3,0,48,112,51,51, 48,0,0,51,51,51,0,13,221,137,80,153,231,119,115,0,13,129,16,51,51,0,24,136,136, 136,101,94,119,221,119,136,130,26,64,51,0,216,18,204,204,204,198,119,125,221, @@ -1228,8 +1174,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 150,101,238,231,125,221,119,117,111,75,64,51,51,0,95,102,255,85,224,96,119,215, 112,85,90,171,64,51,51,51,0,5,85,94,0,153,7,119,3,0,10,171,64,51,51,51,51,48,0, 0,51,0,48,112,51,51,48,0,0 - }, - { // 13, turret idle +, // 13, turret idle 175,0,131,26,41,168,37,6,91,7,48,93,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,25,145,0,0,0,0,0,0,0,0,17,0,0,0,0,17,151,98,16,0,0,0,0,0,0,1,130,16,0,0, @@ -1248,8 +1193,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 17,35,58,16,0,1,35,68,16,0,0,0,16,0,0,0,0,19,49,0,0,0,17,17,0,0,0,0,0,0,0,0,0,1, 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 14 turret walk +, // 14 turret walk 175,0,131,26,41,37,168,6,91,7,48,93,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,1,153,16,0,0,0,0,0,0,0,0,0,0,0,0,1,25,117,33,0,0,0,0,0,0,0,0,1,16,0,0, @@ -1268,8 +1212,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,17,16,0,0,0,0,0,0,0,0,1,51,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0 - }, - { // 15 turret attack +, // 15 turret attack 175,0,131,41,26,1,168,191,7,48,81,6,37,21,35,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,1,136,16,0,0,0,0,0,0,0,0,0,0,0,0,1,24,188,33,0,0,0,0,0,0,0,0,0,0,0,0, @@ -1288,8 +1231,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 0,1,30,68,145,0,0,0,0,0,0,0,0,1,0,0,0,0,1,68,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0 - }, - { // 16 exploder walk +, // 16 exploder walk 175,168,1,2,3,102,4,5,23,174,99,191,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,0,0, 0,0,89,0,0,0,0,0,0,0,0,68,65,177,0,0,5,85,89,0,0,0,0,0,0,0,4,34,33,177,0,0,19, @@ -1308,8 +1250,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 124,16,0,0,0,0,0,0,0,0,1,32,1,131,16,1,70,57,0,0,0,0,0,0,0,0,1,18,33,129,0,0,19, 187,144,0,0,0,0,0,0,0,0,17,17,129,0,0,5,155,153,0,0,0,0,0,0,0,0,0,1,16,0,0,0,5, 80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - }, - { // 17 universal dying sprite +, // 17 universal dying sprite 175,0,223,1,3,4,5,2,6,73,135,79,26,159,131,37,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0, 0,0,0,0,0,2,0,0,0,34,32,51,0,0,0,0,0,0,0,0,0,2,32,0,2,163,34,0,0,0,0,0,0,0,0,0, 0,0,0,0,42,3,50,33,16,0,0,0,0,0,0,0,0,0,1,16,32,0,2,22,97,16,0,0,0,0,0,0,0,1,24, @@ -1327,8 +1268,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 0,0,0,34,42,153,145,1,195,16,23,119,115,65,0,0,0,0,0,32,2,170,34,31,236,49,23, 116,17,17,0,0,0,0,0,0,0,34,2,24,238,193,1,17,0,0,0,0,0,0,0,0,0,32,0,24,254,193, 0,35,48,0,0,0,0,0,0,0,0,0,0,1,17,16,2,32,48,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0 - }, - { // 18 universal dead/corpse sprite +, // 18 universal dead/corpse sprite 175,0,3,4,1,5,6,2,157,18,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,4,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,34,0,0,0,0,0,0,0,0,0,0,0, 0,0,4,50,34,0,0,0,0,0,0,0,0,0,0,0,0,0,4,36,17,0,0,0,0,0,0,0,0,0,0,0,0,1,18,65, @@ -1345,7 +1285,6 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] = 16,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,34,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,2,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0 - } }; SFG_PROGRAM_MEMORY uint8_t SFG_logoImage[SFG_TEXTURE_STORE_SIZE] = diff --git a/sounds.h b/sounds.h index 28c9493..ee8073b 100644 --- a/sounds.h +++ b/sounds.h @@ -28,10 +28,10 @@ /** Gets a 8-bit sound sample. */ + #define SFG_GET_SFX_SAMPLE(soundIndex,sampleIndex) \ - (((sampleIndex % 2 == 0) ? \ - (SFG_sounds[soundIndex][sampleIndex / 2] >> 4) : \ - (SFG_sounds[soundIndex][sampleIndex / 2] & 0x0f)) << 4) + ((SFG_PROGRAM_MEMORY_U8(SFG_sounds + soundIndex * SFG_SFX_SIZE \ + + sampleIndex / 2) << (4 * ((sampleIndex % 2) != 0))) & 0xf0) #define SFG_TRACK_SAMPLES (512 * 1024) @@ -145,9 +145,9 @@ uint8_t SFG_getNextMusicSample() return result; } -SFG_PROGRAM_MEMORY uint8_t SFG_sounds[][SFG_SFX_SIZE] = +SFG_PROGRAM_MEMORY uint8_t SFG_sounds[SFG_SFX_SIZE * 6] = { - { // 0, bullet shot +// 0, bullet shot 135,119,120,136,136,153,153,153,154,169,152,119,101,85,86,102,119,118,119, 85,84,51,33,52,52,84,87,120,170,188,202,152,102,84,84,70,119,136,119, 119,121,154,219,170,137,117,82,18,36,34,33,20,67,68,70,137,172,189,237, @@ -200,8 +200,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_sounds[][SFG_SFX_SIZE] = 119,119,136,136,136,136,136,136,136,136,136,119,119,119,119,119,119,119,136,136, 136,136,136,136,136,136,135,119,119,135,135,120,120,120,120,120,120,120,120,135, 135,136,120,120,135 - }, - { // 1, door opening +, // 1, door opening 119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119, 119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,136, 136,136,136,136,136,136,136,136,136,136,153,153,153,153,153,153,153,153,153,153, @@ -254,8 +253,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_sounds[][SFG_SFX_SIZE] = 119,119,119,120,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136, 136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136, 136,136,136,120,120 - }, - { // 2, explosion +, // 2, explosion 135,136,153,18,51,51,33,18,123,255,255,255,255,255,255,255,254,184,48, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,189,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,201,135, @@ -308,8 +306,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_sounds[][SFG_SFX_SIZE] = 68,51,51,52,68,69,85,86,102,119,120,136,136,120,136,136,119,119,120,136, 136,136,136,136,136,136,119,119,119,119,136,136,136,136,136,136,136,136,136,136, 136,136,136,119,120 - }, - { // 3, click +, // 3, click 136,136,136,136,136,136,136,136,136,136,136,136,136,135,119,136,136,119,119, 119,119,119,119,119,119,119,119,136,136,136,136,136,136,136,136,136,136,136,136, 136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136, @@ -362,8 +359,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_sounds[][SFG_SFX_SIZE] = 136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136, 136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136, 136,136,136,136,136 - }, - { // 4, plasma shot, teleport +, // 4, plasma shot, teleport 136,136,136,136,136,136,119,119,118,102,102,85,86,102,103,120,136,153,170, 187,187,187,170,169,152,119,102,85,68,68,68,69,86,103,136,154,171,187,204, 203,186,169,136,118,102,85,84,69,103,138,189,221,221,221,221,221,221,221,221, @@ -416,8 +412,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_sounds[][SFG_SFX_SIZE] = 136,136,136,136,136,136,136,136,136,136,135,119,119,119,119,119,119,119,119,119, 119,119,119,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136, 136,136,136,136,136 - }, - { // 5, robot/monster sound (beep) +, // 5, robot/monster sound (beep) 136,120,120,120,136,136,136,136,120,120,135,136,136,136,120,136,136,119,136, 136,120,136,119,120,136,136,136,120,136,119,120,136,135,119,136,135,120,136,119, 119,136,136,119,119,120,136,136,135,119,119,136,136,136,119,119,119,136,119,120, @@ -470,7 +465,6 @@ SFG_PROGRAM_MEMORY uint8_t SFG_sounds[][SFG_SFX_SIZE] = 135,119,136,119,136,135,119,136,119,119,120,136,136,119,120,135,136,135,120,135, 119,136,119,136,135,136,119,120,136,120,136,120,136,119,135,119,136,119,136,135, 136,119,120,135,120 - } }; #endif // guard