-}
-
-static void
-taser(ModeInfo *mi, Bool wire)
-{
- lament_configuration *lc = &lcs[MI_SCREEN(mi)];
- int i;
-
- int slider_face_points[][2] = {
- { 86, 58 },{ 38, 106 },{ 70, 106 },{ 118, 58 },{ -1, -1 }, /* a */
- { 136, 58 },{ 184, 106 },{ 216, 106 },{ 168, 58 },{ -1, -1 }, /* b */
- { 38, 106 },{ 0, 144 },{ 0, 190 },{ 60, 190 },{ 108, 106 }, /* c */
- { 144, 106 },{ 194, 190 },{ 254, 190 },{ 254, 144 },{ 216, 106 }, /* d */
- { 98, 124 },{ 60, 190 },{ 92, 190 },{ 126, 158 },{ 126, 124 }, /* e */
- { 126, 124 },{ 126, 158 },{ 160, 190 },{ 194, 190 },{ 154, 124 }, /* f */
- { 22, 190 },{ 22, 254 },{ 60, 254 },{ 60, 190 },{ -1, -1 }, /* g */
- { 194, 190 },{ 194, 254 },{ 230, 254 },{ 230, 190 },{ -1, -1 }, /* h */
- { 60, 190 },{ 60, 210 },{ 92, 210 },{ 92, 190 },{ -1, -1 }, /* i */
- { 160, 190 },{ 160, 210 },{ 194, 210 },{ 194, 190 },{ -1, -1 }, /* j */
- { 110, 172 },{ 92, 190 },{ 110, 190 },{ -1, -1 },{ -1, -1 }, /* k */
- { 140, 172 },{ 140, 190 },{ 160, 190 },{ -1, -1 },{ -1, -1 }, /* l */
- { 110, 172 },{ 140, 172 },{ 126, 156 },{ -1, -1 },{ -1, -1 }, /* m */
- };
-
- int body_face_points[][2] = {
- { 0, 0 },{ 0, 58 },{ 254, 58 },{ 254, 0 },{ -1, -1 }, /* A */
- { 0, 58 },{ 0, 144 },{ 86, 58 },{ -1, -1 },{ -1, -1 }, /* B */
- { 168, 58 },{ 254, 144 },{ 254, 58 },{ -1, -1 },{ -1, -1 }, /* C */
- { 118, 58 },{ 70, 106 },{ 184, 106 },{ 136, 58 },{ -1, -1 }, /* F */
- { 108, 106 },{ 98, 124 },{ 154, 124 },{ 144, 106 },{ -1, -1 }, /* G */
- };
-
- int lifter_face_points[][2] = {
- { 0, 190 },{ 0, 254 },{ 22, 254 },{ 22, 190 },{ -1, -1 }, /* D */
- { 230, 190 },{ 230, 254 },{ 254, 254 },{ 254, 190 },{ -1, -1 }, /* E */
- { 60, 210 },{ 60, 254 },{ 194, 254 },{ 194, 210 },{ -1, -1 }, /* H */
- { 92, 190 },{ 92, 210 },{ 160, 210 },{ 160, 190 },{ -1, -1 }, /* I */
- { 110, 172 },{ 110, 190 },{ 140, 190 },{ 140, 172 },{ -1, -1 }, /* J */
- };
-
- int body_perimiter_points[][2] = {
- { 0, 144 },{ 86, 59 },{ 119, 58 },{ 71, 107 },
- { 108, 107 },{ 98, 124 },{ 155, 124 },{ 144, 107 },
- { 185, 106 },{ 136, 59 },{ 169, 59 },{ 255, 145 },
- { 255, 0 },{ 0, 0 },
- };
-
- int slider_perimiter_points[][2] = {
- { 86, 58 },{ 0, 144 },{ 0, 190 },{ 22, 190 },{ 22, 254 },
- { 60, 254 },{ 60, 210 },{ 92, 210 },{ 92, 190 },{ 110, 190 },
- { 110, 172 },{ 140, 172 },{ 140, 190 },{ 160, 190 },{ 160, 210 },
- { 194, 210 },{ 194, 254 },{ 230, 254 },{ 230, 190 },{ 254, 190 },
- { 254, 144 },{ 168, 58 },{ 136, 58 },{ 184, 106 },{ 144, 106 },
- { 154, 124 },{ 98, 124 },{ 108, 106 },{ 70, 106 },{ 118, 58 },
- };
-
- int lifter_perimiter_points_1[][2] = {
- { 0, 189 },{ 0, 254 },{ 22, 255 },{ 23, 190 },
- };
-
- int lifter_perimiter_points_2[][2] = {
- { 230, 254 },{ 255, 255 },{ 254, 190 },{ 230, 190 },
- };
-
- int lifter_perimiter_points_3[][2] = {
- { 60, 254 },{ 194, 254 },{ 194, 211 },{ 160, 210 },
- { 160, 190 },{ 140, 191 },{ 141, 172 },{ 111, 172 },
- { 110, 190 },{ 93, 190 },{ 92, 210 },{ 60, 211 },
- };
-
- for (i = 0; i < countof(slider_face_points); i++)
- slider_face_points[i][1] = 255-slider_face_points[i][1];
- for (i = 0; i < countof(body_face_points); i++)
- body_face_points[i][1] = 255-body_face_points[i][1];
- for (i = 0; i < countof(lifter_face_points); i++)
- lifter_face_points[i][1] = 255-lifter_face_points[i][1];
- for (i = 0; i < countof(body_perimiter_points); i++)
- body_perimiter_points[i][1] = 255-body_perimiter_points[i][1];
- for (i = 0; i < countof(slider_perimiter_points); i++)
- slider_perimiter_points[i][1] = 255-slider_perimiter_points[i][1];
- for (i = 0; i < countof(lifter_perimiter_points_1); i++)
- lifter_perimiter_points_1[i][1] = 255-lifter_perimiter_points_1[i][1];
- for (i = 0; i < countof(lifter_perimiter_points_2); i++)
- lifter_perimiter_points_2[i][1] = 255-lifter_perimiter_points_2[i][1];
- for (i = 0; i < countof(lifter_perimiter_points_3); i++)
- lifter_perimiter_points_3[i][1] = 255-lifter_perimiter_points_3[i][1];
-
- /* -------------------------------------------------------------------- */
-
- glNewList(lc->taser_base, GL_COMPILE);
- glShadeModel(GL_SMOOTH);
-
- /* N */
- face4(lc->texids[FACE_N], exterior_color, wire,
- 0.0, 0.0, -0.5, 0.5, 0.5,
- 0.75, 0.0, 0.25, 0.5, 0.5,
- 0.75, 0.75, 0.25, 0.5, -0.25,
- 0.0, 0.75, -0.5, 0.5, -0.25);
-
- /* S */
- face4(lc->texids[FACE_S], exterior_color, wire,
- 0.0, 0.25, -0.5, -0.5, -0.25,
- 0.75, 0.25, 0.25, -0.5, -0.25,
- 0.75, 1.0, 0.25, -0.5, 0.5,
- 0.0, 1.0, -0.5, -0.5, 0.5);
-
- /* interior E */
- face4(0, interior_color, wire,
- 0.0, 0.0, 0.25, -0.5, -0.25,
- 1.0, 0.0, 0.25, 0.5, -0.25,
- 1.0, 1.0, 0.25, 0.5, 0.5,
- 0.0, 1.0, 0.25, -0.5, 0.5);
-
- /* W */
- face4(lc->texids[FACE_W], exterior_color, wire,
- 1.0, 1.0, -0.5, -0.5, 0.5,
- 0.0, 1.0, -0.5, 0.5, 0.5,
- 0.0, 0.25, -0.5, 0.5, -0.25,
- 1.0, 0.25, -0.5, -0.5, -0.25);
-
- /* U */
- face4(lc->texids[FACE_U], exterior_color, wire,
- 0.75, 0.0, 0.25, -0.5, 0.5,
- 0.75, 1.0, 0.25, 0.5, 0.5,
- 0.0, 1.0, -0.5, 0.5, 0.5,
- 0.0, 0.0, -0.5, -0.5, 0.5);
-
- /* interior D */
- face4(0, interior_color, wire,
- 0.0, 1.0, -0.5, -0.5, -0.25,
- 0.0, 0.0, -0.5, 0.5, -0.25,
- 1.0, 0.0, 0.25, 0.5, -0.25,
- 1.0, 1.0, 0.25, -0.5, -0.25);
-
- /* Top face */
- for (i = 0; i < countof(body_face_points)/5; i++)