Pokitto Community Team / Arcade

Dependencies:   PokittoLib

Fork of HelloWorld by Pokitto Community Team

Files at this revision

API Documentation at this revision

Comitter:
Pokitto
Date:
Sun Oct 22 19:06:53 2017 +0000
Parent:
9:9886433fd43f
Commit message:
blv3

Changed in this revision

PokittoLib.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show diff for this revision Revisions of this file
textures.h Show diff for this revision Revisions of this file
--- a/PokittoLib.lib	Wed Oct 18 20:20:53 2017 +0000
+++ b/PokittoLib.lib	Sun Oct 22 19:06:53 2017 +0000
@@ -1,1 +1,1 @@
-https://os.mbed.com/users/Pokitto/code/PokittoLib/#162abc242b3a
+https://os.mbed.com/users/Pokitto/code/PokittoLib/#fa6899411a24
--- a/main.cpp	Wed Oct 18 20:20:53 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,975 +0,0 @@
-//#include <iostream>
-#include <string>
-#include <stdlib.h>
-#include "Pokitto.h"
-#include "PokittoFonts.h"
-
-//create game object
-Pokitto::Core game;
-
-//include textures
-#include <textures.h>
-
-//variable declarations
-short gameMode = -2; //-2 = title, -1 = settings, 0 = menu, 1 = pong, 2 = breakout, 3 = snake, 4 = stacker, 5 = columns
-unsigned int paddleA = 36;
-unsigned int paddleB = 36;
-unsigned int paddleBr = 46;
-int paddleBMotion = 0;
-int ballX = 52;
-int ballY = 42;
-float ballSpeed = 1.0f;
-int bricksHit = 0;
-int ballXR;
-int ballYR;
-short ballDX = 1;
-short ballDY = 1;
-int RNG = rand() % 100 + 1;
-int RNGX = rand() % 25 + 1;
-int RNGY = rand() % 18 + 1;
-int difficulty = 70;
-unsigned int scoreA = 0;
-unsigned int scoreB = 0;
-unsigned int scoreBr = 0;
-unsigned short breakoutGrid [13][5]; //0=air, 1=redWide1, 2=redWide2, 3=yellowWide1, 4=yellowWide2, 5=greenWide, 6=cyanWide, 7=blueWide
-bool secondLevel = false;
-unsigned int lives = 3;
-short gameMap [27][22]; //0 = air, -1 = wall, -2 = food, 1 = snake head, 2 = snake body
-short snakeLength = 3;
-short headX = 13;
-short headY = 10;
-short direction = 0; //0 = up, 1 = right, 2 = down, 3 = left
-bool snakeUpdate = false;
-bool foodPlacementSuccess = false;
-short counter = 0;
-bool snakeInitializing = true;
-int breakoutHS = 0;
-int snakeHS = 0;
-unsigned short blockX = 0;
-unsigned short blockSize = 4;
-short blockDir = 1;
-short blockH = 0;
-short oldBlockData [20][2];
-short blockHOffset = 0;
-short blockLoss = 0;
-short blockMove = 0;
-bool stackLost = false;
-int stackerScore = 0;
-int stackerHS = 0;
-int stackerDelay = 3;
-short menuSelection = 1;
-bool grayscale = false;
-short optionSelection = 1;
-bool bsound = true;
-double timeTime = 0.0;
-/*short currentColumn [3];
-short currentColumnDupe [3];
-short nextColumn [3];
-short columnsMap [9][22];*/
-void resetPongValues() {
-    ballX = 52;
-    ballY = 42;
-    paddleBMotion = 0;
-    paddleA = 36;
-    paddleB = 36;
-    ballDX = 1;
-    ballDY = 1;
-}
-void pongLogic() {
-    //update difficulty
-    difficulty = 70 + 2.5*(scoreA - scoreB);
-    //input, move paddle 1
-    if (game.buttons.repeat(BTN_UP,0) && paddleA > 0) {
-        paddleA -= 2;
-    }
-    if (game.buttons.repeat(BTN_DOWN,0) && paddleA < 66) {
-        paddleA += 2;
-    }
-    //move paddle 2
-    if (paddleBMotion == 0) {
-        if (ballY < paddleB + 8 && paddleB > 0) {
-            if (RNG < difficulty) {
-                paddleB -= 1;
-                paddleBMotion = -6;
-            } else {
-                paddleB += 1;
-                paddleBMotion = 6;
-            }
-        }
-        if (ballY > paddleB + 8 && paddleB < 66) {
-            if (RNG < difficulty) {
-                paddleB += 1;
-                paddleBMotion = 6;
-            } else {
-                paddleB -= 1;
-                paddleBMotion = -6;
-            }
-        }
-    } else if (paddleBMotion < 0) {
-        paddleBMotion++;
-        if (paddleB > 0)
-        paddleB -= 1;
-    } else if (paddleBMotion > 0) {
-        paddleBMotion--;
-        if (paddleB < 66)
-        paddleB += 1;
-    }
-    //fix paddle locations
-    if (paddleA < 0) {
-        paddleA = 0;
-    }
-    if (paddleB < 0) {
-        paddleB = 0;
-    }
-    if (paddleA > 66) {
-        paddleA = 66;
-    }
-    if (paddleB > 66) {
-        paddleB = 66;
-    }
-    //move ball
-    ballX += ballDX;
-    ballY += ballDY;
-    //bounce off walls
-    if (ballX <= 0) {scoreB++; resetPongValues(); if (bsound) game.sound.playOK();}
-    if (ballX >= 106) {scoreA++; resetPongValues(); if (bsound) game.sound.playOK();}
-    if (ballX <= 4 && ballY >= paddleA && ballY <= paddleA + 16) {
-        ballDX = 1;
-        if (bsound) game.sound.playTick();
-    }
-    if (ballX >= 102 && ballY >= paddleB && ballY <= paddleB + 16) {
-        ballDX = -1;
-        if (bsound) game.sound.playTick();
-    }
-    if (ballY <= 0 || ballY >= 78) {ballDY *= -1; if (bsound) game.sound.playTick();}
-}
-void pongDraw() {
-    //line
-    game.display.color = 2;
-    game.display.drawFastVLine(55,0,82);
-    game.display.color = 13;
-    game.display.drawFastVLine(56,0,82);
-    //paddles & ball
-    game.display.drawBitmap(0,paddleA,paddle1);
-    game.display.drawBitmap(106,paddleB,paddle1);
-    game.display.drawBitmap(ballX,ballY,gray);
-    //score
-    game.display.color = 2;
-    game.display.fillRectangle(0,82,110,6);
-    game.display.setFont(font3x5);
-    game.display.setCursor(50,83);
-    game.display.color = 15;
-    game.display.print(scoreA);
-    game.display.print("-");
-    game.display.print(scoreB);
-}
-void breakoutGridInit() {
-    //build basic grid by row
-    for (int x=0;x<13;x++) {
-        breakoutGrid[x][0] = 1;
-    }
-    for (int x=0;x<13;x++) {
-        breakoutGrid[x][1] = 3;
-    }
-    for (int x=0;x<13;x++) {
-        breakoutGrid[x][2] = 5;
-    }
-    for (int x=0;x<13;x++) {
-        breakoutGrid[x][3] = 6;
-    }
-    for (int x=0;x<13;x++) {
-        breakoutGrid[x][4] = 7;
-    }
-}
-void breakoutLogic() {
-    //input
-    if (game.buttons.repeat(BTN_LEFT,0) && paddleBr > 0) {
-        paddleBr -= 2;
-    }
-    if (game.buttons.repeat(BTN_RIGHT,0) && paddleBr < 94) {
-        paddleBr += 2;
-    }
-    //fix paddle position
-    if (paddleBr < 0) paddleBr = 0;
-    if (paddleBr > 94) paddleBr = 94;
-    //move ball, bounce off walls & paddle
-    ballX += ballDX * ballSpeed;
-    ballY += ballDY * ballSpeed;
-    if (ballX <= 0 || ballX >= 106) {ballDX *= -1; if (bsound) game.sound.playTick();}
-    if (ballY <= 0) {ballDY = 1; if (bsound) game.sound.playTick();}
-    if (ballY >= 78) {lives--; ballX = 52; ballY = 42; ballDX = 1; ballDY = 1; paddleBr = 46; if (bsound) game.sound.playCancel();}
-    if (ballY >= 74 && ballX >= paddleBr && ballX <= paddleBr + 16) {ballDY = -1; if (bsound) game.sound.playTick();}
-    //hiscore
-    if (scoreBr > breakoutHS) {
-        breakoutHS = scoreBr;
-    }
-    //reset game if lives out
-    if (lives == 0) {
-        scoreBr = 0; ballX = 52; ballY = 42; ballDX = 1; ballDY = 1; paddleBr = 46; lives = 3;
-        breakoutGridInit();
-    }
-    //check for brick collision
-    if (ballY <= 20) {
-        ballYR = ballY / 4;
-        if (ballYR % 2 == 0) {
-            ballXR = ballX / 8;
-        } else {
-            ballXR = (ballX - 4) / 8;
-        }
-        if (ballYR <= 4) {
-            switch (breakoutGrid[ballXR][ballYR]) {
-            case 0 :
-                break;
-            case 1 :
-                breakoutGrid[ballXR][ballYR] = 2;
-                ballDY *= -1;
-                scoreBr += 4;
-                bricksHit++;
-                if (ballSpeed <= 1.75f) {
-                    ballSpeed = 2.0f;
-                    if (bsound) game.sound.playOK();
-                } else {
-                    if (bsound) game.sound.playTick();
-                }
-                break;
-            case 2 :
-                breakoutGrid[ballXR][ballYR] = 0;
-                ballDY *= -1;
-                scoreBr += 4;
-                bricksHit++;
-                if (bsound) game.sound.playTick();
-                break;
-            case 3 :
-                breakoutGrid[ballXR][ballYR] = 4;
-                ballDY *= -1;
-                scoreBr += 3;
-                bricksHit++;
-                if (ballSpeed <= 1.5f) {
-                    ballSpeed = 1.75f;
-                    if (bsound) game.sound.playOK();
-                } else {
-                    if (bsound) game.sound.playTick();
-                }
-                break;
-            case 4 :
-                breakoutGrid[ballXR][ballYR] = 0;
-                ballDY *= -1;
-                scoreBr += 3;
-                bricksHit++;
-                if (bsound) game.sound.playTick();
-                break;
-            case 5 :
-                breakoutGrid[ballXR][ballYR] = 0;
-                ballDY *= -1;
-                scoreBr += 3;
-                bricksHit++;
-                if (bsound) game.sound.playTick();
-                break;
-            case 6 :
-                breakoutGrid[ballXR][ballYR] = 0;
-                ballDY *= -1;
-                scoreBr += 2;
-                bricksHit++;
-                if (bsound) game.sound.playTick();
-                break;
-            case 7 :
-                breakoutGrid[ballXR][ballYR] = 0;
-                ballDY *= -1;
-                scoreBr += 1;
-                bricksHit++;
-                if (bsound) game.sound.playTick();
-                break;
-            }
-        }
-    }
-    //second level
-    if (scoreBr == 260 && !secondLevel) {
-        secondLevel = true;
-        paddleBr = 46;
-        ballX = 52;
-        ballY = 42;
-        ballDX = 1;
-        ballDY = 1;
-        breakoutGridInit();
-    }
-    //change speeds
-    if (ballSpeed == 1.0f && bricksHit == 4) {
-        ballSpeed = 1.25f;
-        if (bsound) game.sound.playOK();
-    } else if (ballSpeed <= 1.25f && bricksHit == 12) {
-        ballSpeed == 1.5f;
-        if (bsound) game.sound.playOK();
-    }
-}
-void breakoutDraw() {
-    //draw bricks
-    for(int y=0;y<5;y++) {
-        for(int x=0;x<13;x++) {
-            switch (breakoutGrid[x][y]) {
-            case 0 :
-                break;
-            case 1 :
-                if (y%2==0) {
-                game.display.drawBitmap(x*8 + 1,y*4,redWide1);
-                } else {
-                game.display.drawBitmap(x*8 + 5,y*4,redWide1);
-                }
-                break;
-            case 2 :
-                if (y%2==0) {
-                game.display.drawBitmap(x*8 + 1,y*4,redWide2);
-                } else {
-                game.display.drawBitmap(x*8 + 5,y*4,redWide2);
-                }
-                break;
-            case 3 :
-                if (y%2==0) {
-                    game.display.drawBitmap(x*8 + 1,y*4,yellowWide1);
-                } else {
-                    game.display.drawBitmap(x*8 + 5,y*4,yellowWide1);
-                }
-                break;
-            case 4 :
-                if (y%2==0) {
-                    game.display.drawBitmap(x*8 + 1,y*4,yellowWide2);
-                } else {
-                    game.display.drawBitmap(x*8 + 5,y*4,yellowWide2);
-                }
-                break;
-            case 5 :
-                if (y%2==0) {
-                    game.display.drawBitmap(x*8 + 1,y*4,greenWide);
-                } else {
-                    game.display.drawBitmap(x*8 + 5,y*4,greenWide);
-                }
-                break;
-            case 6 :
-                if (y%2==0) {
-                    game.display.drawBitmap(x*8 + 1,y*4,cyanWide);
-                } else {
-                    game.display.drawBitmap(x*8 + 5,y*4,cyanWide);
-                }
-                break;
-            case 7 :
-                if (y%2==0) {
-                    game.display.drawBitmap(x*8 + 1,y*4,blueWide);
-                } else {
-                    game.display.drawBitmap(x*8 + 5,y*4,blueWide);
-                }
-                break;
-            }
-        }
-    }
-    //draw paddle & ball
-    game.display.drawBitmap(paddleBr,78,paddle2);
-    game.display.drawBitmap(ballX,ballY,gray);
-    //draw score
-    game.display.color = 2;
-    game.display.fillRectangle(0,82,110,6);
-    game.display.setFont(font3x5);
-    game.display.setCursor(1,83);
-    game.display.color = 15;
-    game.display.print("SCORE ");
-    game.display.print(scoreBr);
-    game.display.setCursor(37,83);
-    game.display.color = 15;
-    game.display.print("HISCORE ");
-    game.display.print(breakoutHS);
-    //draw HP
-    game.display.drawBitmap(97,84,gray);
-    game.display.setCursor(102,83);
-    game.display.print("x");
-    game.display.print(lives);
-}
-void snakePlaceFood() {
-    foodPlacementSuccess = false;
-    while (!foodPlacementSuccess) {
-        RNGX = rand() % 25 + 1;
-        RNGY = rand() % 18 + 1;
-        if (gameMap [RNGX][RNGY] == 0) {
-            gameMap [RNGX][RNGY] = -2;
-            foodPlacementSuccess = true;
-        }
-    }
-}
-void snakeGridInit() {
-    for (int y=0;y<20;y++) {
-        for (int x=0;x<27;x++) {
-            gameMap [x][y] = 0;
-        }
-    }
-    for (int y=0;y<22;y++) {
-        gameMap [0][y] = -1;
-        gameMap [26][y] = -1;
-    }
-    for (int x=0;x<27;x++) {
-        gameMap [x][0] = -1;
-        gameMap [x][19] = -1;
-    }
-    for (int i=0;i<snakeLength;i++) {
-    gameMap [13][10 + i] = 1 + i;
-    }
-    snakePlaceFood();
-    snakeInitializing = false;
-}
-void snakeInput() {
-    //input
-    if (game.buttons.held(BTN_UP,1) && direction != 2) {
-        direction = 0;
-    }
-    if (game.buttons.held(BTN_DOWN,1) && direction != 0) {
-        direction = 2;
-    }
-    if (game.buttons.held(BTN_RIGHT,1) && direction != 3) {
-        direction = 1;
-    }
-    if (game.buttons.held(BTN_LEFT,1) && direction != 1) {
-        direction = 3;
-    }
-}
-void snakeLogic() {
-    if (counter == 0) {
-        counter = 2;
-        //move
-        snakeUpdate = false;
-        gameMap [headX][headY] = 2;
-        if (direction == 0 && gameMap [headX][headY - 1] != -1 && gameMap [headX][headY - 1] < 2) {
-            headY--;
-            snakeUpdate = true;
-        } else if (direction == 1 && gameMap [headX + 1][headY] != -1 && gameMap [headX + 1][headY] < 2) {
-            headX++;
-            snakeUpdate = true;
-        } else if (direction == 2 && gameMap [headX][headY + 1] != -1 && gameMap [headX][headY + 1] < 2) {
-            headY++;
-            snakeUpdate = true;
-        } else if (direction == 3 && gameMap [headX - 1][headY] != -1 && gameMap [headX - 1][headY] < 2) {
-            headX--;
-            snakeUpdate = true;
-        }
-        //collision w/ food
-        if (gameMap [headX][headY] == -2) {
-            snakeLength += 1;
-            snakePlaceFood();
-            if (bsound) game.sound.playOK();
-        }
-        gameMap [headX][headY] = 1;
-        //destroy old snake bricks
-        for (int y=0;y<20;y++) {
-            for (int x=0;x<27;x++) {
-                if (snakeUpdate) {
-                    if (gameMap [x][y] >= snakeLength + 1) {
-                        gameMap [x][y] = 0;
-                    } else if (gameMap [x][y] >= 2) {
-                        gameMap [x][y] += 1;
-                    }
-                }
-                if (gameMap [x][y] == 1 && !(x == headX && y == headY)) {
-                    gameMap [x][y] = 0;
-                }
-            }
-        }
-        if (snakeLength - 3 > snakeHS) {
-            snakeHS = snakeLength - 3;
-        }
-        //death
-        if (!snakeUpdate) {
-            snakeLength = 3;
-            headX = 13;
-            headY = 10;
-            snakeInitializing = true;
-            snakeGridInit;
-            if (bsound) game.sound.playCancel();
-        }
-    } else {
-        counter--;
-    }
-}
-void snakeDraw() {
-    //draw BG
-    game.display.color = 14;
-    game.display.fillRectangle(4,4,100,72);
-    //draw map
-    for (int y=0;y<20;y++) {
-        for (int x=0;x<27;x++) {
-            switch (gameMap[x][y]) {
-            case -2 :
-                game.display.drawBitmap(x*4,y*4,pink);
-                break;
-            case -1 :
-                game.display.drawBitmap(x*4,y*4,red);
-                break;
-            case 0 :
-                //game.display.drawBitmap(x*4,y*4,yellow);
-                break;
-            case 1 :
-                game.display.drawBitmap(x*4,y*4,cyan);
-                break;
-            default :
-                if (gameMap[x][y] % 2 == 1) {
-                    game.display.drawBitmap(x*4,y*4,blue);
-                } else {
-                    game.display.drawBitmap(x*4,y*4,green);
-                }
-                break;
-            }
-        }
-
-    }
-    //draw score
-    game.display.color = 2;
-    game.display.fillRectangle(0,80,110,8);
-    game.display.setFont(font3x5);
-    game.display.setCursor(1,82);
-    game.display.color = 15;
-    game.display.print("SCORE ");
-    game.display.print(snakeLength - 3);
-    game.display.setCursor(65,82);
-    game.display.color = 15;
-    game.display.print("HISCORE ");
-    game.display.print(snakeHS);
-}
-void stackerDataInit() {
-    //initialize data list
-    for (int y=0;y<2;y++) {
-        for (int x=0;x<20;x++) {
-            oldBlockData[x][y] = 0;
-        }
-    }
-}
-void stackerInput() {
-    if (game.buttons.held(BTN_A,1)) {
-            if (bsound) game.sound.playTick();
-            if (blockH >= 0) {
-                //place old blocks
-                oldBlockData[blockH - blockHOffset][0] = blockX;
-                oldBlockData[blockH - blockHOffset][1] = blockSize;
-                blockH += 1;
-                if (blockH > 1) {
-                    stackLost = false;
-                    //basic block reduction algorithm
-                    switch (blockX - oldBlockData[blockH - blockHOffset - 2][0]) {
-                    case -3 :
-                        blockLoss = 3;
-                        blockMove = 3;
-                        break;
-                    case -2 :
-                        blockLoss = 2;
-                        blockMove = 2;
-                        break;
-                    case -1 :
-                        blockLoss = 1;
-                        blockMove = 1;
-                        break;
-                    case 0 :
-                        blockLoss = 0;
-                        blockMove = 0;
-                        break;
-                    case 1 :
-                        blockLoss = 1;
-                        blockMove = 0;
-                        break;
-                    case 2 :
-                        blockLoss = 2;
-                        blockMove = 0;
-                        break;
-                    case 3 :
-                        blockLoss = 3;
-                        blockMove = 0;
-                        break;
-                    default :
-                        blockLoss = 4;
-                        stackLost = true;
-
-                    }
-                    //score
-                    stackerScore += (4-blockLoss);
-                    //block reduction in action!
-                    if (!stackLost) {
-                        blockSize -= blockLoss;
-                        blockX += blockMove;
-                        oldBlockData[blockH - blockHOffset - 1][1] -= blockLoss;
-                        oldBlockData[blockH - blockHOffset - 1][0] += blockMove;
-                    }
-                } else {
-                    stackerScore += 4;
-                }
-                //scroll through blocks
-                if (blockH >= 13) {
-                    blockHOffset += 1;
-                    for (int y=0;y<15;y++) {
-                        oldBlockData[y][0] = oldBlockData[y+1][0];
-                        oldBlockData[y][1] = oldBlockData[y+1][1];
-                    }
-                }
-            }
-        }
-}
-void stackerLogic() {
-    if (counter == 0) {
-        counter = stackerDelay;
-        //loss
-        if (stackLost || blockSize <= 0) {
-            if (bsound) game.sound.playCancel();
-            stackerDataInit();
-            blockSize = 4;
-            blockDir = 1;
-            blockH = 0;
-            blockX = 0;
-            blockHOffset = 0;
-            stackerScore = 0;
-            stackLost = false;
-        }
-        //move blocks
-        blockX += blockDir;
-        if (blockX == 0) {
-            blockDir = 1;
-        } else if (blockX == 27 - blockSize) {
-            blockDir = -1;
-        }
-        //hiscore
-        if (stackerScore > stackerHS) {
-            stackerHS = stackerScore;
-        }
-        //speed up
-        if (blockH >= 15) {
-            if (bsound && stackerDelay == 1) game.sound.playOK();
-            stackerDelay = 0;
-        } else if (blockH >= 10) {
-            if (bsound && stackerDelay == 2) game.sound.playOK();
-            stackerDelay = 1;
-        } else if (blockH >= 5) {
-            if (bsound && stackerDelay == 3) game.sound.playOK();
-            stackerDelay = 2;
-        } else {
-            stackerDelay = 3;
-        }
-    } else {
-        counter--;
-    }
-}
-void stackerDraw() {
-    //draw old blocks
-    for (int indx=0;indx<22;indx++) {
-        for (int a=0;a<oldBlockData[indx][1];a++) {
-            switch ((blockHOffset + indx) % 6) {
-            case 0 :
-                game.display.drawBitmap((oldBlockData[indx][0] + a) * 4,80 - (indx + 1) * 4,red);
-                break;
-            case 1 :
-                game.display.drawBitmap((oldBlockData[indx][0] + a) * 4,80 - (indx + 1) * 4,yellow);
-                break;
-            case 2 :
-                game.display.drawBitmap((oldBlockData[indx][0] + a) * 4,80 - (indx + 1) * 4,green);
-                break;
-            case 3 :
-                game.display.drawBitmap((oldBlockData[indx][0] + a) * 4,80 - (indx + 1) * 4,cyan);
-                break;
-            case 4 :
-                game.display.drawBitmap((oldBlockData[indx][0] + a) * 4,80 - (indx + 1) * 4,blue);
-                break;
-            case 5 :
-                game.display.drawBitmap((oldBlockData[indx][0] + a) * 4,80 - (indx + 1) * 4,pink);
-                break;
-            }
-
-        }
-    }
-    //draw current blocks
-    for (int a=0;a<blockSize;a++) {
-            switch (blockH % 6) {
-            case 0 :
-                game.display.drawBitmap((blockX + a) * 4,80 - ((blockH - blockHOffset) + 1) * 4,red);
-                break;
-            case 1 :
-                game.display.drawBitmap((blockX + a) * 4,80 - ((blockH - blockHOffset) + 1) * 4,yellow);
-                break;
-            case 2 :
-                game.display.drawBitmap((blockX + a) * 4,80 - ((blockH - blockHOffset) + 1) * 4,green);
-                break;
-            case 3 :
-                game.display.drawBitmap((blockX + a) * 4,80 - ((blockH - blockHOffset) + 1) * 4,cyan);
-                break;
-            case 4 :
-                game.display.drawBitmap((blockX + a) * 4,80 - ((blockH - blockHOffset) + 1) * 4,blue);
-                break;
-            case 5 :
-                game.display.drawBitmap((blockX + a) * 4,80 - ((blockH - blockHOffset) + 1) * 4,pink);
-                break;
-            }
-
-    }
-    //score
-    game.display.color = 2;
-    game.display.fillRectangle(0,80,110,8);
-    game.display.setFont(font3x5);
-    game.display.setCursor(1,82);
-    game.display.color = 15;
-    game.display.print("SCORE ");
-    game.display.print(stackerScore);
-    game.display.setCursor(65,82);
-    game.display.color = 15;
-    game.display.print("HISCORE ");
-    game.display.print(stackerHS);
-}
-void menuLogic() {
-    if (game.buttons.held(BTN_RIGHT,1)) {
-        menuSelection++;
-        if (bsound) game.sound.playTick();
-        if (menuSelection == 5) {
-            menuSelection = 1;
-        }
-    }
-    if (game.buttons.held(BTN_LEFT,1)) {
-        menuSelection--;
-        if (bsound) game.sound.playTick();
-        if (menuSelection == 0) {
-            menuSelection = 4;
-        }
-    }
-    if (game.buttons.held(BTN_A,1)) {
-        if (bsound) game.sound.playOK();
-        switch (menuSelection) {
-        case 1 :
-            scoreA = 0;
-            scoreB = 0;
-            resetPongValues();
-            gameMode = 1;
-            break;
-        case 2 :
-            scoreBr = 0;
-            secondLevel = false;
-            lives = 3;
-            resetPongValues();
-            ballSpeed = 1.0f;
-            breakoutGridInit();
-            gameMode = 2;
-            break;
-        case 3 :
-            snakeLength = 3;
-            headX = 13;
-            headY = 10;
-            direction = 0;
-            snakeUpdate = false;
-            foodPlacementSuccess = false;
-            snakeInitializing = true;
-            snakeGridInit();
-            gameMode = 3;
-            break;
-        case 4 :
-            blockX = 0;
-            blockSize = 4;
-            blockDir = 1;
-            blockH = 0;
-            blockHOffset = 0;
-            blockLoss = 0;
-            blockMove = 0;
-            stackLost = false;
-            stackerScore = 0;
-            stackerDelay = 3;
-            stackerDataInit();
-            gameMode = 4;
-            break;
-        }
-    }
-    if (game.buttons.held(BTN_B,1)) {
-        gameMode = -1;
-    }
-}
-void menuDraw() {
-    game.display.drawBitmap(30,10,logo);
-    switch (menuSelection) {
-    case 1 :
-        game.display.drawBitmap(28,30,pongSS);
-        game.display.color = 15;
-        game.display.setCursor(40,70);
-        game.display.setFont(font3x5);
-        game.display.print("Pong \n");
-        break;
-    case 2 :
-        game.display.drawBitmap(28,30,breakoutSS);
-        game.display.color = 15;
-        game.display.setCursor(40,70);
-        game.display.setFont(font3x5);
-        game.display.print("Breakout \n");
-        break;
-    case 3 :
-        game.display.drawBitmap(28,30,snakeSS);
-        game.display.color = 15;
-        game.display.setCursor(40,70);
-        game.display.setFont(font3x5);
-        game.display.print("Snake \n");
-        break;
-    case 4 :
-        game.display.drawBitmap(28,30,stackerSS);
-        game.display.color = 15;
-        game.display.setCursor(40,70);
-        game.display.setFont(font3x5);
-        game.display.print("Stacker \n");
-        break;
-    }
-    game.display.print("A: Play \n");
-    game.display.print("B: Settings \n");
-
-}
-void optionsLogic() {
-    if (game.buttons.held(BTN_UP,1)) {
-        optionSelection--;
-        if (bsound) game.sound.playTick();
-        if (optionSelection == 0) {
-            optionSelection = 3;
-        }
-    }
-    if (game.buttons.held(BTN_DOWN,1)) {
-        optionSelection++;
-        if (bsound) game.sound.playTick();
-        if (optionSelection == 4) {
-            optionSelection = 1;
-        }
-    }
-    if (game.buttons.held(BTN_A,1)) {
-        if (bsound) game.sound.playOK();
-        switch (optionSelection) {
-        case 1 :
-            if (grayscale) {
-                grayscale = false;
-                game.display.load565Palette(color_pal);
-            } else {
-                grayscale = true;
-                game.display.load565Palette(grayscale_pal);
-            }
-            break;
-        case 2 :
-            bsound = !bsound;
-            break;
-        case 3 :
-            gameMode = 0;
-            break;
-        }
-    }
-}
-void optionsDraw() {
-    game.display.setCursor(0,30);
-    game.display.setFont(font5x7);
-    game.display.color = 15;
-    game.display.print("OPTIONS \n");
-    game.display.setFont(font3x5);
-    if (optionSelection == 1) {
-        if (grayscale) {
-            game.display.color = 2;
-        } else {
-            game.display.color = 11;
-        }
-    } else {
-        game.display.color = 15;
-    }
-    if (grayscale) {
-        game.display.print("GRAYSCALE \n");
-    } else {
-        game.display.print("COLOR \n");
-    }
-    if (optionSelection == 2) {
-        if (grayscale) {
-            game.display.color = 2;
-        } else {
-            game.display.color = 11;
-        }
-    } else {
-        game.display.color = 15;
-    }
-    if (bsound) {
-        game.display.print("SOUND \n");
-    } else {
-        game.display.print("MUTE \n");
-    }
-    if (optionSelection == 3) {
-        if (grayscale) {
-            game.display.color = 2;
-        } else {
-            game.display.color = 11;
-        }
-    } else {
-        game.display.color = 15;
-    }
-    game.display.print("BACK TO MENU \n");
-}
-void gameTitle() {
-    timeTime++;
-    game.display.drawBitmap(30,25+5*sin(timeTime/15),logo);
-    game.display.color = 15;
-    game.display.setCursor(25,45+5*sin(timeTime/15));
-    game.display.setFont(font3x5);
-    game.display.print("Press A to begin");
-    if (game.buttons.held(BTN_A,1)) {
-        gameMode = 0;
-        if (bsound) game.sound.playOK();
-    }
-}
-int main() {
-    //initialization
-    game.begin();
-    game.display.load565Palette(color_pal);
-    game.display.width = 110;
-    game.display.height = 88;
-    breakoutGridInit();
-    snakeGridInit();
-    stackerDataInit();
-    game.sound.playMusicStream("MENU.SND");
-    //game.sound.playMusicStream("Menu.snd");
-//    columnsGridInit();
-    //main game loop
-    while (game.isRunning) {
-        if (game.update()) {
-                //update RNG
-                RNG = rand() % 100 + 1;
-                switch (gameMode) {
-                case -2 :
-                    //Title
-                    gameTitle();
-                    break;
-                case -1 :
-                    //Options
-                    optionsLogic();
-                    optionsDraw();
-                    break;
-                case 0 :
-                    //Menu
-                    menuLogic();
-                    menuDraw();
-                    break;
-                case 1 :
-                    //Pong
-                    pongLogic();
-                    pongDraw();
-                    break;
-                case 2 :
-                    //Breakout
-                    breakoutLogic();
-                    breakoutDraw();
-                    break;
-                case 3 :
-                    //Snake
-                    snakeInput();
-                    snakeLogic();
-                    snakeDraw();
-                    break;
-                case 4 :
-                    //Stacker
-                    stackerInput();
-                    stackerLogic();
-                    stackerDraw();
-                    break;
-                case 5 :
-                    //Columns
-//                    columnsLogic();
-//                    columnsDraw();
-                    break;
-                }
-                if (game.buttons.held(BTN_C,1)) {
-                    if (gameMode > 0) {
-                        game.sound.playCancel();
-                        gameMode = 0;
-                    }
-                }
-        }
-    }
-}
--- a/textures.h	Wed Oct 18 20:20:53 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,358 +0,0 @@
-#ifndef TEXTURES_H_INCLUDED
-#define TEXTURES_H_INCLUDED
-
-#include <stdint.h>
-//palettes
-const uint16_t color_pal[] = {
-0,16,33808,31,32768,32784,63488,63519,1024,1040,2016,2047,33792,50712,65504,65535,
-};
-const uint16_t grayscale_pal[] = {
-0,50712,33808,65535,50712,50712,65535,65535,50712,50712,65535,65535,50712,50712,65535,65535,
-};
-//basic blocks
-const uint8_t blue[] =
-{
-4,4,
-51,49,
-49,16,
-49,16,
-16,0,
-};
-const uint8_t cyan[] =
-{
-4,4,
-187,185,
-185,144,
-185,144,
-144,0,
-};
-const uint8_t gray[] =
-{
-4,4,
-255,253,
-253,208,
-253,208,
-208,0,
-};
-const uint8_t green[] =
-{
-4,4,
-170,168,
-168,128,
-168,128,
-128,0,
-};
-const uint8_t pink[] =
-{
-4,4,
-119,117,
-117,80,
-117,80,
-80,0,
-};
-const uint8_t red[] =
-{
-4,4,
-102,100,
-100,64,
-100,64,
-64,0,
-};
-const uint8_t yellow[] =
-{
-4,4,
-238,236,
-236,192,
-236,192,
-192,0,
-};
-//paddles
-const uint8_t paddle1[] =
-{
-4,16,
-255,253,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-253,208,
-208,0,
-};
-const uint8_t paddle2[] =
-{
-16,4,
-255,255,255,255,255,255,255,253,
-253,221,221,221,221,221,221,208,
-253,221,221,221,221,221,221,208,
-208,0,0,0,0,0,0,0,
-};
-//wide blocks (for Breakout)
-const uint8_t blueWide[] =
-{
-8,4,
-51,51,51,49,
-49,17,17,16,
-49,17,17,16,
-16,0,0,0,
-};
-const uint8_t cyanWide[] =
-{
-8,4,
-187,187,187,185,
-185,153,153,144,
-185,153,153,144,
-144,0,0,0,
-};
-const uint8_t greenWide[] =
-{
-8,4,
-170,170,170,168,
-168,136,136,128,
-168,136,136,128,
-128,0,0,0,
-};
-const uint8_t yellowWide1[] =
-{
-8,4,
-238,238,238,236,
-236,204,204,192,
-236,204,204,192,
-192,0,0,0,
-};
-const uint8_t yellowWide2[] =
-{
-8,4,
-236,236,236,236,
-192,192,192,192,
-236,12,12,0,
-192,0,0,0,
-};
-const uint8_t redWide1[] =
-{
-8,4,
-102,102,102,100,
-100,68,68,64,
-100,68,68,64,
-64,0,0,0,
-};
-const uint8_t redWide2[] =
-{
-8,4,
-100,100,100,100,
-64,64,64,64,
-100,4,4,0,
-64,0,0,0,
-};
-//logo
-const uint8_t logo[] =
-{
-49,16,
-187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,176,
-187,0,0,11,176,0,0,11,187,0,0,11,187,0,0,11,176,0,0,11,176,0,0,0,176,
-176,0,176,0,176,0,176,0,176,0,0,0,176,0,176,0,176,0,176,0,176,0,0,0,176,
-176,0,176,0,176,0,176,0,176,0,0,0,176,0,176,0,176,0,176,0,176,0,187,187,176,
-176,0,176,0,176,0,0,0,176,0,187,0,176,0,176,0,176,0,176,0,176,0,0,0,176,
-176,0,0,0,176,0,176,11,176,11,187,187,176,0,0,0,176,0,176,0,176,0,0,0,176,
-176,0,176,0,176,0,176,0,176,0,187,0,176,0,176,0,176,0,176,0,176,0,187,187,176,
-176,0,176,0,176,0,176,0,176,0,0,0,176,0,176,0,176,0,176,0,176,0,187,187,176,
-176,0,176,0,176,0,176,0,176,0,0,0,176,0,176,0,176,0,176,0,176,0,0,0,176,
-176,0,176,0,176,0,176,0,187,0,0,11,176,0,176,0,176,0,0,11,176,0,0,0,176,
-187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,176,
-0,0,15,255,0,240,0,255,240,0,255,255,0,255,255,15,0,15,255,0,15,255,240,0,0,
-0,0,240,0,240,240,15,0,15,15,0,0,15,0,0,0,0,240,0,240,240,0,0,0,0,
-0,0,240,0,0,240,15,0,15,0,255,240,0,255,240,15,0,240,0,0,15,255,0,0,0,
-0,0,240,0,240,240,15,0,15,0,0,15,0,0,15,15,0,240,0,240,0,0,240,0,0,
-0,0,15,255,0,15,0,255,255,15,255,240,15,255,240,0,240,15,255,0,255,255,0,0,0,
-};
-//game shots
-const uint8_t breakoutSS[] =
-{
-55,41,
-100,68,100,68,100,68,100,68,100,68,100,68,100,68,100,68,100,68,100,68,100,68,100,68,100,68,0,0,
-64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,0,0,
-0,236,204,236,204,236,204,236,204,236,204,236,204,236,204,236,204,236,204,236,204,236,204,236,204,236,204,0,
-0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,0,
-168,136,168,136,168,136,168,136,168,136,168,136,168,136,168,136,0,0,168,136,168,136,0,0,168,136,0,0,
-128,0,128,0,128,0,128,0,128,0,128,0,128,0,128,0,0,0,128,0,128,0,0,0,128,0,0,0,
-0,185,153,185,153,185,153,185,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,144,0,144,0,144,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,49,17,49,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,16,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,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,240,0,0,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,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,13,221,221,221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-};
-const uint8_t pongSS[] =
-{
-55,41,
-0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-208,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-208,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-208,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-208,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,15,208,0,0,0,0,0,0,0,
-208,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,13,0,0,0,0,0,0,0,0,
-208,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-208,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,13,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,13,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,13,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,13,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,13,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,13,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,13,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-};
-const uint8_t snakeSS[] =
-{
-55,41,
-102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,
-100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,119,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,117,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,51,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,49,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,170,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,168,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,187,51,170,51,170,51,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,185,49,168,49,168,49,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,102,0,
-100,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,100,0,
-102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,
-100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-};
-const uint8_t stackerSS[] =
-{
-55,41,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,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,187,187,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,185,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,170,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,168,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,238,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,236,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,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,100,100,100,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,117,117,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,49,49,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,187,187,187,187,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,185,185,185,185,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,170,170,170,170,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,168,168,168,168,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,238,238,238,238,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,236,236,236,236,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,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,100,100,100,100,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,117,117,117,117,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-};
-
-#endif // TEXTURES_H_INCLUDED