Terrain MapHandler::getNextTerrain() { //find the appropriate tile graphic and store it Terrain temp = Terrain(); Frame frame; switch(map[xTer][yTer]) { //trees (picks from a selection of trees) case 'T': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 32, 64, 0, 0, 32, 64, SHEET_TERRAIN); frame.addStandBox(5, 40, 22, 20); temp.addFrame(frame); break; case '0': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 128, 0, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case '1': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 144, 0, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case '2': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 160, 0, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case '3': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 176, 0, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case '4': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 128, 16, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case '5': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 144, 16, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case '6': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 160, 16, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case '7': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 176, 16, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case '8': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 128, 32, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case '9': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 144, 32, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case 'A': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 160, 32, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case 'B': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 176, 32, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case 'C': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 128, 48, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case 'D': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 144, 48, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case 'E': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 160, 48, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; case 'F': frame = Frame(0, xTer*TILES_X, yTer*TILES_Y+UI_HEIGHT, 16, 16, 176, 48, 16, 16, SHEET_TERRAIN); frame.addStandBox(0, 0, 16, 16); temp.addFrame(frame); break; } //increment x/y counters xTer++; if (xTer >= 30) { xTer = 0; yTer++; } return temp; }