static flash_int8_t ADDER_vertices[] = { -28,0,63, 28,0,63, 47,0,-37, 47,0,-63, 28,-11,-63, -28,-11,-63, -47,0,-63, -47,0,-37, -28,11,-63, 28,11,-63, -28,11,20, 28,11,20, -28,-11,20, 28,-11,20, -17,4,45, 17,4,45, 17,6,37, -17,6,37 }; static flash_uint8_t ADDER_edges[] = { 14,17, 10,11, 5,6, 0,7, 8,9, 0,10, 1,11, 1,2, 6,7, 12,13, 5,12, 8,10, 4,13, 7,12, 2,13, 9,11, 7,10, 16,17, 4,5, 1,13, 0,12, 3,9, 2,3, 0,1, 6,8, 15,16, 2,11, 14,15, 3,4 }; static flash_int8_t ANACONDA_vertices[] = { 0,1,-14, -10,-3,-9, -6,-11,0, 6,-11,0, 10,-3,-9, 0,11,-12, -17,3,-3, -10,-9,9, 10,-9,9, 17,3,-3, -10,13,-5, -17,0,7, 0,0,63, 17,0,7, 10,13,-5 }; static flash_uint8_t ANACONDA_edges[] = { 8,13, 7,12, 1,6, 7,11, 1,2, 5,14, 4,9, 12,13, 6,10, 10,12, 0,4, 2,7, 9,14, 12,14, 6,11, 2,3, 11,12, 0,1, 9,13, 5,10, 8,12, 3,8, 10,14, 0,5, 3,4 }; static flash_int8_t ASP_vertices[] = { 0,-15,0, 0,-7,-38, 37,0,-38, 59,-2,0, 37,-12,24, -37,0,-38, -59,-2,0, -37,-12,24, 22,-6,63, -22,-6,63, 37,12,24, -37,12,24, 0,7,-38, -14,0,-38, 14,0,-38, 0,-3,-38, 0,3,-38 }; static flash_uint8_t ASP_edges[] = { 6,9, 10,11, 4,8, 5,6, 0,7, 8,10, 8,9, 2,12, 1,2, 6,7, 5,12, 10,12, 13,16, 1,5, 9,11, 0,4, 6,11, 13,15, 2,3, 11,12, 7,9, 0,1, 14,16, 3,8, 14,15, 3,4, 3,10 }; static flash_int8_t ASTEROID_vertices[] = { 0,63,0, -63,-7,0, 0,-63,0, 55,-31,0, 47,39,0, 39,0,47, -31,0,55, 0,23,-59, 0,-39,-47 }; static flash_uint8_t ASTEROID_edges[] = { 0,1, 1,2, 4,7, 2,6, 3,7, 5,6, 7,8, 0,4, 2,8, 0,7, 1,7, 3,8, 0,6, 1,8, 0,5, 4,5, 2,3, 1,6, 2,5, 3,4, 3,5 }; static flash_int8_t BARREL_vertices[] = { 63,42,0, 63,13,39, 63,-34,23, 63,-34,-23, 63,13,-39, -63,42,0, -63,13,39, -63,-34,23, -63,-34,-23, -63,13,-39 }; static flash_uint8_t BARREL_edges[] = { 0,1, 1,2, 6,7, 5,9, 5,6, 7,8, 2,7, 1,6, 3,8, 2,3, 0,4, 0,5, 8,9, 4,9, 3,4 }; static flash_int8_t BOA_vertices[] = { 0,0,54, 0,23,-51, 22,-14,-58, -22,-14,-58, -22,23,-34, 22,23,-34, 36,0,-39, 14,-38,-46, -14,-38,-46, -36,0,-39, 0,4,-62, 7,-5,-62, -7,-5,-62 }; static flash_uint8_t BOA_edges[] = { 10,11, 5,6, 0,7, 8,9, 6,7, 10,12, 1,5, 0,4, 1,10, 2,6, 4,5, 1,4, 3,9, 0,5, 4,9, 0,8, 11,12, 2,7, 3,12, 2,11, 3,8, 0,6, 0,9, 7,8 }; static flash_int8_t BOULDER_vertices[] = { -29,59,-17, 48,11,19, 45,-11,-19, 3,0,-63, -45,54,-48, 8,-16,21, 32,27,-48 }; static flash_uint8_t BOULDER_edges[] = { 0,1, 1,2, 2,6, 4,6, 0,6, 4,5, 1,6, 1,5, 0,5, 3,6, 0,4, 2,3, 2,5, 3,4, 3,5 }; static flash_int8_t CAPSULE_vertices[] = { -12,0,63, -12,-24,-21, -12,24,-21, 36,0,0 }; static flash_uint8_t CAPSULE_edges[] = { 1,2, 0,1, 1,3, 2,3, 0,3, 0,2 }; static flash_int8_t COBRA_vertices[] = { 15,0,37, -15,0,37, 0,12,11, -59,-1,-3, 59,-1,-3, -43,7,-19, 43,7,-19, 63,-3,-19, -63,-3,-19, 0,12,-19, -15,-11,-19, 15,-11,-19, -17,3,-19, -3,5,-19, 3,5,-19, 17,3,-19, 17,-5,-19, 3,-7,-19, -3,-7,-19, -17,-5,-19, 0,0,37, 0,0,44, -39,-2,-19, -39,2,-19, -43,0,-19, 39,2,-19, 43,0,-19, 39,-2,-19 }; static flash_uint8_t COBRA_edges[] = { 5,9, 6,9, 1,3, 10,11, 4,7, 14,17, 25,27, 18,19, 7,11, 2,5, 5,8, 1,2, 6,7, 2,9, 12,13, 8,10, 25,26, 1,5, 0,11, 0,4, 1,10, 16,17, 2,6, 22,24, 22,23, 14,15, 23,24, 3,5, 0,1, 26,27, 4,6, 12,19, 3,8, 0,6, 13,18, 15,16, 0,2 }; static flash_int8_t COBRAMK1_vertices[] = { -17,0,47, 17,0,47, -63,0,6, 63,0,6, -30,11,-36, 30,11,-36, -51,-11,-36, 51,-11,-36, 0,11,-5, 0,0,47, 0,0,57 }; static flash_uint8_t COBRAMK1_edges[] = { 0,1, 2,6, 6,7, 4,6, 4,8, 4,5, 5,7, 2,4, 0,6, 1,8, 1,3, 1,7, 3,7, 0,8, 0,2, 5,8, 3,5 }; static flash_int8_t CONSTRICTOR_vertices[] = { 15,-5,63, -15,-5,63, -42,-5,31, -42,-5,-31, -15,10,-31, 15,10,-31, 42,-5,-31, 42,-5,31, 15,10,3, -15,10,3, 15,-5,48, -15,-5,48, 19,-5,-19, -19,-5,-19, 11,-5,-11, -11,-5,-11, 0,-5,0 }; static flash_uint8_t CONSTRICTOR_edges[] = { 5,6, 0,7, 8,9, 5,8, 1,2, 6,7, 2,9, 10,12, 3,6, 11,13, 12,14, 4,5, 13,15, 3,9, 2,3, 1,9, 4,9, 0,8, 0,1, 6,8, 7,8, 10,14, 11,15, 3,4 }; static flash_int8_t CORIOLIS_vertices[] = { 63,0,63, 0,63,63, -63,0,63, 0,-63,63, 63,-63,0, 63,63,0, -63,63,0, -63,-63,0, 63,0,-63, 0,63,-63, -63,0,-63, 0,-63,-63, 3,-11,63, 3,11,63, -3,11,63, -3,-11,63 }; static flash_uint8_t CORIOLIS_edges[] = { 5,9, 6,9, 10,11, 4,8, 8,9, 1,6, 7,11, 3,7, 0,3, 5,8, 1,2, 12,13, 6,10, 1,5, 7,10, 0,4, 14,15, 2,7, 2,6, 8,11, 9,10, 2,3, 4,11, 0,1, 12,15, 13,14, 0,5, 3,4 }; static flash_int8_t COUGAR_vertices[] = { 0,4,63, -18,0,37, -37,0,-37, 0,13,-37, 0,-13,-37, 18,0,37, 37,0,-37, -33,0,52, -56,0,-18, 33,0,52, 56,0,-18, 0,6,32, 0,7,23, -11,1,42, 11,1,42, -9,5,-37, -9,-5,-37, 9,-5,-37, 9,5,-37, 0,0,-37 }; static flash_uint8_t COUGAR_edges[] = { 5,9, 5,6, 2,8, 18,19, 11,14, 15,19, 0,3, 1,2, 12,13, 6,10, 3,6, 11,13, 17,18, 17,19, 12,14, 4,5, 1,4, 9,10, 2,3, 16,19, 11,12, 0,1, 4,6, 7,8, 1,7, 0,5, 15,16, 2,4 }; static flash_int8_t DODO_vertices[] = { 0,38,50, 37,11,50, 22,-31,50, -22,-31,50, -37,11,50, 0,63,11, 59,19,11, 37,-50,11, -37,-50,11, -59,19,11, 37,50,-11, 59,-19,-11, 0,-63,-11, -59,-19,-11, -37,50,-11, 22,31,-50, 37,-11,-50, 0,-38,-50, -37,-11,-50, -22,31,-50, -4,8,50, -4,-8,50, 4,8,50, 4,-8,50 }; static flash_uint8_t DODO_edges[] = { 11,16, 8,13, 7,12, 10,15, 1,6, 7,11, 15,19, 18,19, 1,2, 5,14, 4,9, 20,21, 6,10, 14,19, 12,17, 0,4, 2,7, 9,14, 20,22, 6,11, 21,23, 22,23, 2,3, 17,18, 16,17, 0,1, 9,13, 5,10, 8,12, 15,16, 3,8, 13,18, 0,5, 3,4 }; static flash_int8_t FERDELANCE_vertices[] = { 0,-8,63, -23,-8,-2, -7,-8,-30, 7,-8,-30, 23,-8,-2, -23,8,-2, -7,1,-30, 7,1,-30, 23,8,-2, 0,10,-11, -1,-6,56, -15,4,10, -9,8,-2, 1,-6,56, 15,4,10, 9,8,-2, 0,-8,-11, -8,-8,25, 8,-8,25 }; static flash_uint8_t FERDELANCE_edges[] = { 5,9, 6,9, 10,11, 4,8, 5,6, 8,9, 3,7, 1,2, 6,7, 10,12, 1,5, 0,4, 7,9, 16,18, 17,18, 2,6, 13,15, 14,15, 0,5, 0,8, 11,12, 16,17, 0,1, 13,14, 7,8, 2,3, 3,4 }; static flash_int8_t GECKO_vertices[] = { -9,-3,44, 9,-3,44, -15,7,-21, 15,7,-21, -63,0,-2, 63,0,-2, -19,-13,-21, 19,-13,-21, -7,-5,31, 7,-5,31, -7,-12,-15, 7,-12,-15 }; static flash_uint8_t GECKO_edges[] = { 0,1, 1,3, 6,7, 4,6, 0,6, 5,7, 2,4, 3,7, 1,5, 2,6, 2,3, 1,7, 0,4, 0,2, 3,5 }; static flash_int8_t KRAIT_vertices[] = { 0,0,63, 0,11,-31, 0,-11,-31, 59,0,-1, -59,0,-1, 59,0,57, -59,0,57, 0,3,34, 0,4,24, -11,4,12, 11,4,12, 11,7,-25, 11,-7,-25, 23,0,-19, -11,7,-25, -11,-7,-25, -23,0,-19 }; static flash_uint8_t KRAIT_edges[] = { 0,1, 1,2, 1,3, 14,16, 12,13, 15,16, 8,10, 1,4, 2,4, 8,9, 2,3, 7,10, 0,4, 14,15, 0,3, 7,9, 11,12, 0,2, 7,8, 11,13 }; static flash_int8_t MAMBA_vertices[] = { 0,0,63, -63,-7,-31, -31,7,-31, 31,7,-31, 63,-7,-31, -3,3,15, 3,3,15, 7,2,27, -7,2,27, -19,-3,15, 19,-3,15, -23,-6,-19, -15,-6,-19, 15,-6,-19, 23,-6,-19, -7,3,-31, 7,3,-31, 7,-3,-31, -7,-3,-31, -31,3,-31, 31,3,-31, 35,-3,-31, -35,-3,-31, -37,0,-31, 37,0,-31 }; static flash_uint8_t MAMBA_edges[] = { 22,23, 5,6, 19,22, 0,3, 5,8, 1,2, 6,7, 20,21, 9,11, 15,18, 0,4, 17,18, 10,13, 1,4, 2,3, 3,4, 11,12, 16,17, 0,1, 20,24, 13,14, 15,16, 10,14, 21,24, 19,23, 7,8, 0,2, 9,12 }; static flash_int8_t MISSILE_vertices[] = { 0,0,63, 7,7,33, -7,7,33, -7,-7,33, 7,-7,33, 7,7,-40, -7,7,-40, -7,-7,-40, 7,-7,-40, 11,11,-40, -11,11,-40, -11,-11,-40, 11,-11,-40, 7,7,-11, -7,7,-11, -7,-7,-11, 7,-7,-11 }; static flash_uint8_t MISSILE_edges[] = { 5,9, 4,8, 5,6, 12,16, 5,13, 7,11, 3,7, 0,3, 5,8, 6,14, 1,2, 6,7, 7,15, 6,10, 1,5, 0,4, 8,16, 2,6, 1,4, 2,3, 0,1, 9,13, 8,12, 3,4, 10,14, 11,15, 7,8, 0,2 }; static flash_int8_t MORAY_vertices[] = { 14,0,63, -14,0,63, 0,17,-38, -58,0,0, 58,0,0, 29,-26,-9, -29,-26,-9, -8,-3,-24, 8,-3,-24, 0,-17,-15, 12,2,47, 5,0,63, -12,2,47, -5,0,63 }; static flash_uint8_t MORAY_edges[] = { 1,2, 0,1, 1,3, 0,5, 5,6, 2,4, 8,9, 4,5, 2,6, 2,3, 3,6, 0,4, 1,6, 2,5, 7,8, 0,2, 7,9 }; static flash_int8_t PLATELET_vertices[] = { -20,-30,-12, -20,52,-12, 26,43,15, 13,-63,8 }; static flash_uint8_t PLATELET_edges[] = { 0,1, 1,2, 0,3, 2,3 }; static flash_int8_t PYTHON_vertices[] = { 0,0,63, 0,13,13, 27,0,-4, -27,0,-4, 0,13,-9, 0,6,-31, -13,0,-31, 13,0,-31, 0,-13,13, 0,-13,-9, 0,-6,-31 }; static flash_uint8_t PYTHON_edges[] = { 1,3, 5,6, 2,8, 8,9, 0,3, 1,2, 2,9, 6,10, 3,6, 2,7, 7,10, 4,5, 1,4, 9,10, 3,9, 0,8, 0,1, 5,7, 0,2, 3,8, 3,4, 2,4 }; static flash_int8_t SIDEWINDER_vertices[] = { -31,0,35, 31,0,35, 63,0,-27, -63,0,-27, 0,15,-27, 0,-15,-27, -11,5,-27, 11,5,-27, 11,-5,-27, -11,-5,-27 }; static flash_uint8_t SIDEWINDER_edges[] = { 0,1, 1,2, 2,5, 6,7, 7,8, 6,9, 1,4, 8,9, 1,5, 0,5, 0,4, 0,3, 3,4, 2,4, 3,5 }; static flash_int8_t SHUTTLE_vertices[] = { 0,-30,41, -30,0,41, 0,32,41, 32,0,41, -36,-36,-48, -36,36,-48, 36,36,-48, 36,-36,-48, 9,0,-48, 0,-3,-48, -9,0,-48, 0,5,-48, 0,-16,63, 5,-1,55, 7,19,45, 19,7,45, -5,-1,55, -5,19,45, -18,7,45 }; static flash_uint8_t SHUTTLE_edges[] = { 4,7, 10,11, 5,6, 0,7, 8,9, 2,12, 3,7, 2,5, 0,3, 1,2, 6,7, 1,5, 3,6, 0,4, 16,18, 16,17, 2,6, 4,5, 8,11, 13,15, 1,4, 0,12, 9,10, 2,3, 0,1, 3,12, 1,12, 13,14, 17,18, 14,15 }; static flash_int8_t THARGLET_vertices[] = { -14,0,63, -14,-59,18, -14,-37,-50, -14,37,-50, -14,59,18, 14,0,-12, 14,-15,-23, 14,-9,-40, 14,9,-40, 14,15,-23 }; static flash_uint8_t THARGLET_edges[] = { 0,1, 1,2, 6,7, 5,9, 5,6, 7,8, 2,7, 1,6, 3,8, 2,3, 0,4, 0,5, 8,9, 4,9, 3,4 }; static flash_int8_t THARGOID_vertices[] = { 12,-18,18, 12,-26,0, 12,-18,-18, 12,0,-26, 12,18,-18, 12,26,0, 12,18,18, 12,0,26, -9,-44,44, -9,-63,0, -9,-44,-44, -9,0,-63, -9,44,-44, -9,63,0, -9,44,44, -9,0,63, -9,24,30, -9,24,-30, -9,-24,-30, -9,-24,30 }; static flash_uint8_t THARGOID_edges[] = { 10,11, 5,6, 5,13, 0,7, 8,9, 4,12, 6,14, 1,2, 0,8, 6,7, 7,15, 12,13, 8,15, 4,5, 3,11, 9,10, 2,3, 1,9, 2,10, 11,12, 0,1, 13,14, 14,15, 3,4 }; static flash_int8_t TRANSPORTER_vertices[] = { 0,19,-49, -47,7,-49, -53,-5,-49, -47,-15,-49, 49,-15,-49, 55,-5,-49, 49,7,-49, 0,11,22, -57,-1,22, -63,-15,22, 63,-15,22, 57,-1,22, -21,-3,57, -24,-15,57, 26,-15,57, 21,-3,57, -9,11,3, -34,5,3, -9,13,-13, -34,7,-13, -21,11,-26, -21,9,-13, 9,13,-26, 34,7,-26, 21,9,-13, 9,11,-5, 34,5,-5, 21,7,15, 21,9,-5, -30,-15,-24, -30,-15,30, 32,-15,-24, 32,-15,30, -24,-5,-49, 24,-5,-49, 17,5,-49, -15,5,-49 }; static flash_uint8_t TRANSPORTER_edges[] = { 10,11, 5,6, 0,7, 8,9, 34,35, 7,11, 1,2, 7,15, 2,9, 12,13, 6,11, 35,36, 4,10, 4,5, 33,34, 3,9, 2,3, 33,36, 7,12, 11,15, 0,1, 9,13, 12,15, 5,10, 8,12, 13,14, 3,4, 0,6, 1,8, 10,14, 14,15, 7,8 }; static flash_int8_t VIPER_vertices[] = { 0,0,63, 0,14,21, 0,-14,21, 42,0,-21, -42,0,-21, 21,-14,-21, -21,-14,-21, 21,14,-21, -21,14,-21, -28,0,-21, 28,0,-21, 7,7,-21, -7,7,-21, -7,-7,-21, 7,-7,-21 }; static flash_uint8_t VIPER_edges[] = { 0,1, 9,13, 2,5, 2,6, 10,11, 4,6, 4,8, 5,6, 1,7, 12,13, 1,8, 10,14, 11,14, 0,4, 3,7, 0,3, 7,8, 0,2, 9,12, 3,5 }; static flash_int8_t WORM_vertices[] = { 18,-18,63, -18,-18,63, 9,10,27, -9,10,27, 27,-18,45, -27,-18,45, 46,-18,-45, -46,-18,-45, 14,25,-45, -14,25,-45 }; static flash_uint8_t WORM_edges[] = { 0,1, 1,3, 6,7, 6,8, 4,6, 2,8, 5,7, 2,4, 8,9, 1,5, 3,9, 2,3, 0,4, 7,9, 0,2, 3,5 }; struct ship { const char *name; byte nvertices; flash_int8_t *vertices; byte nedges; flash_uint8_t *edges; }; static struct ship eliteships[] = { { "ADDER", 18, ADDER_vertices, 29, ADDER_edges }, { "ANACONDA", 15, ANACONDA_vertices, 25, ANACONDA_edges }, { "ASP", 17, ASP_vertices, 27, ASP_edges }, { "ASTEROID", 9, ASTEROID_vertices, 21, ASTEROID_edges }, { "BARREL", 10, BARREL_vertices, 15, BARREL_edges }, { "BOA", 13, BOA_vertices, 24, BOA_edges }, { "BOULDER", 7, BOULDER_vertices, 15, BOULDER_edges }, { "CAPSULE", 4, CAPSULE_vertices, 6, CAPSULE_edges }, { "COBRA", 28, COBRA_vertices, 37, COBRA_edges }, { "COBRAMK1", 11, COBRAMK1_vertices, 17, COBRAMK1_edges }, { "CONSTRICTOR", 17, CONSTRICTOR_vertices, 24, CONSTRICTOR_edges }, { "CORIOLIS", 16, CORIOLIS_vertices, 28, CORIOLIS_edges }, { "COUGAR", 20, COUGAR_vertices, 28, COUGAR_edges }, { "DODO", 24, DODO_vertices, 34, DODO_edges }, { "FERDELANCE", 19, FERDELANCE_vertices, 27, FERDELANCE_edges }, { "GECKO", 12, GECKO_vertices, 15, GECKO_edges }, { "KRAIT", 17, KRAIT_vertices, 20, KRAIT_edges }, { "MAMBA", 25, MAMBA_vertices, 28, MAMBA_edges }, { "MISSILE", 17, MISSILE_vertices, 28, MISSILE_edges }, { "MORAY", 14, MORAY_vertices, 17, MORAY_edges }, { "PLATELET", 4, PLATELET_vertices, 4, PLATELET_edges }, { "PYTHON", 11, PYTHON_vertices, 22, PYTHON_edges }, { "SIDEWINDER", 10, SIDEWINDER_vertices, 15, SIDEWINDER_edges }, { "SHUTTLE", 19, SHUTTLE_vertices, 30, SHUTTLE_edges }, { "THARGLET", 10, THARGLET_vertices, 15, THARGLET_edges }, { "THARGOID", 20, THARGOID_vertices, 24, THARGOID_edges }, { "TRANSPORTER", 37, TRANSPORTER_vertices, 32, TRANSPORTER_edges }, { "VIPER", 15, VIPER_vertices, 20, VIPER_edges }, { "WORM", 10, WORM_vertices, 16, WORM_edges }, };