/******************************************************************************
 * shapes.h -  Wed 19 Jun '96
 * ---------------------------------------------------------------------------
 * This file needs a fair bit of explaining. You'll find this easier if you've
 * had experience with binary numbers, but if not try to bare with me.
 * Lay the block you are trying to generate data for on a table, or even
 * better in the container. Drag the shape as far forward and to the right as
 * possible. Now starting at the front-bottom of the shape make a binary number
 * from that row. That's your first value. The next value is the second row on
 * the bottom. Progress to the back and then come back to the second row from
 * the bottom at the front.
 * 
 *    This is a top down view of Yellow 1. It is only one unit high. The size
 *    of the container is 4x4x4.
 *           ____	
 *          |    |                         8 4 2 1
 *          |    |____                     ------- 
 *          |         |      Right         0 0 0 0  = 0
 *          |____     |____                0 1 0 0  = 4
 *               |         |               0 1 1 0  = 6
 *               |_________|               0 0 1 1  = 3
 *
 *                Front 
 *
 * Because the size of the cube is 4x4x4 there are 4 sets of 4 values.
 *
 * The next entry is a string to describe that shape.
 *
 * After the description comes the starting orientation for the cube.
 * It is mainly used internally and for debugging, it should be set to 0. If
 * you use anything else it may do nasty things to the shape and you`ll never
 * find the solution.
 *
 * The next three values are the width, height, and depth of the shape in the
 * orientation that you have provided the data for.
 *****************************************************************************/

#include "./include/cubedata.h"
#include "./include/wireframe.h"

struct wire_frame templates[NUM_SHAPES] = {
  {
    {
      {3,2,0},
      {0,0,0},
      {0,0,0},
    },
    "Piece 0",
  },
  {
    {
      {1,3,0},
      {0,2,0},
      {0,0,0},
    },
    "Piece 1",
  },
  {
    {
      {1,1,0},
      {7,0,0},
      {0,0,0},
    },
    "Piece 2",
  },
  {
    {
      {1,0,0},
      {3,0,0},
      {6,0,0},
    },
    "Piece 3",
  },
  {
    {
      {0,1,0},
      {1,1,1},
      {0,0,0},
    },
    "Piece 4",
  },
  {
    {
      {0,3,0},
      {3,3,0},
      {0,0,0},
    },
    "Piece 5",
  },
};

