-int polygonOffsetVersion;\r
-\r
-static GLdouble bodyWidth = 3.0;\r
-/* *INDENT-OFF* */\r
-static GLfloat body[][2] = { {0, 3}, {1, 1}, {5, 1}, {8, 4}, {10, 4}, {11, 5},\r
- {11, 11.5}, {13, 12}, {13, 13}, {10, 13.5}, {13, 14}, {13, 15}, {11, 16},\r
- {8, 16}, {7, 15}, {7, 13}, {8, 12}, {7, 11}, {6, 6}, {4, 3}, {3, 2},\r
- {1, 2} };\r
-static GLfloat arm[][2] = { {8, 10}, {9, 9}, {10, 9}, {13, 8}, {14, 9}, {16, 9},\r
- {15, 9.5}, {16, 10}, {15, 10}, {15.5, 11}, {14.5, 10}, {14, 11}, {14, 10},\r
- {13, 9}, {11, 11}, {9, 11} };\r
-static GLfloat leg[][2] = { {8, 6}, {8, 4}, {9, 3}, {9, 2}, {8, 1}, {8, 0.5}, {9, 0},\r
- {12, 0}, {10, 1}, {10, 2}, {12, 4}, {11, 6}, {10, 7}, {9, 7} };\r
-static GLfloat eye[][2] = { {8.75, 15}, {9, 14.7}, {9.6, 14.7}, {10.1, 15},\r
- {9.6, 15.25}, {9, 15.25} };\r
-static GLfloat lightPosition[4];\r
-static GLfloat lightColor[] = {0.8, 1.0, 0.8, 1.0}; /* green-tinted */\r
-static GLfloat skinColor[] = {0.1, 1.0, 0.1, 1.0}, eyeColor[] = {1.0, 0.2, 0.2, 1.0};\r
-/* *INDENT-ON* */\r
-\r
-/* Nice floor texture tiling pattern. */\r
-static char *circles[] = {\r
- "....xxxx........",\r
- "..xxxxxxxx......",\r
- ".xxxxxxxxxx.....",\r
- ".xxx....xxx.....",\r
- "xxx......xxx....",\r
- "xxx......xxx....",\r
- "xxx......xxx....",\r
- "xxx......xxx....",\r
- ".xxx....xxx.....",\r
- ".xxxxxxxxxx.....",\r
- "..xxxxxxxx......",\r
- "....xxxx........",\r
- "................",\r
- "................",\r
- "................",\r
- "................",\r
-};\r
-\r
-static void\r
-makeFloorTexture(void)\r
-{\r
- GLubyte floorTexture[16][16][3];\r
- GLubyte *loc;\r
- int s, t;\r
-\r
- /* Setup RGB image for the texture. */\r
- loc = (GLubyte*) floorTexture;\r
- for (t = 0; t < 16; t++) {\r
- for (s = 0; s < 16; s++) {\r
- if (circles[t][s] == 'x') {\r
- /* Nice green. */\r
- loc[0] = 0x1f;\r
- loc[1] = 0x8f;\r
- loc[2] = 0x1f;\r
- } else {\r
- /* Light gray. */\r
- loc[0] = 0xaa;\r
- loc[1] = 0xaa;\r
- loc[2] = 0xaa;\r
- }\r
- loc += 3;\r
- }\r
- }\r
-\r
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);\r