Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1932 lines
52 KiB

  1. #include <windows.h>
  2. #include <gl.h>
  3. #include <math.h>
  4. #include "atlantis.h"
  5. static float N001[3] = {-0.005937 ,-0.101998 ,-0.994767};
  6. static float N002[3] = {0.936780 ,-0.200803 ,0.286569};
  7. static float N003[3] = {-0.233062 ,0.972058 ,0.028007};
  8. static float N004[3] = {0.000000 ,1.000000 ,0.000000};
  9. static float N005[3] = {0.898117 ,0.360171 ,0.252315};
  10. static float N006[3] = {-0.915437 ,0.348456 ,0.201378};
  11. static float N007[3] = {0.602263 ,-0.777527 ,0.180920};
  12. static float N008[3] = {-0.906912 ,-0.412015 ,0.088061};
  13. static float N009[3] = {-0.015623 ,0.999878 ,0.000000};
  14. static float N010[3] = {0.000000 ,-0.992278 ,0.124035};
  15. static float N011[3] = {0.000000 ,-0.936329 ,-0.351123};
  16. static float N012[3] = {0.884408 ,-0.429417 ,-0.182821};
  17. static float N013[3] = {0.921121 ,0.311084 ,-0.234016};
  18. static float N014[3] = {0.382635 ,0.877882 ,-0.287948};
  19. static float N015[3] = {-0.380046 ,0.888166 ,-0.258316};
  20. static float N016[3] = {-0.891515 ,0.392238 ,-0.226607};
  21. static float N017[3] = {-0.901419 ,-0.382002 ,-0.203763};
  22. static float N018[3] = {-0.367225 ,-0.911091 ,-0.187243};
  23. static float N019[3] = {0.339539 ,-0.924846 ,-0.171388};
  24. static float N020[3] = {0.914706 ,-0.378617 ,-0.141290};
  25. static float N021[3] = {0.950662 ,0.262713 ,-0.164994};
  26. static float N022[3] = {0.546359 ,0.801460 ,-0.243218};
  27. static float N023[3] = {-0.315796 ,0.917068 ,-0.243431};
  28. static float N024[3] = {-0.825687 ,0.532277 ,-0.186875};
  29. static float N025[3] = {-0.974763 ,-0.155232 ,-0.160435};
  30. static float N026[3] = {-0.560596 ,-0.816658 ,-0.137119};
  31. static float N027[3] = {0.380210 ,-0.910817 ,-0.160786};
  32. static float N028[3] = {0.923772 ,-0.358322 ,-0.135093};
  33. static float N029[3] = {0.951202 ,0.275053 ,-0.139859};
  34. static float N030[3] = {0.686099 ,0.702548 ,-0.188932};
  35. static float N031[3] = {-0.521865 ,0.826719 ,-0.210220};
  36. static float N032[3] = {-0.923820 ,0.346739 ,-0.162258};
  37. static float N033[3] = {-0.902095 ,-0.409995 ,-0.134646};
  38. static float N034[3] = {-0.509115 ,-0.848498 ,-0.144404};
  39. static float N035[3] = {0.456469 ,-0.880293 ,-0.129305};
  40. static float N036[3] = {0.873401 ,-0.475489 ,-0.105266};
  41. static float N037[3] = {0.970825 ,0.179861 ,-0.158584};
  42. static float N038[3] = {0.675609 ,0.714187 ,-0.183004};
  43. static float N039[3] = {-0.523574 ,0.830212 ,-0.191360};
  44. static float N040[3] = {-0.958895 ,0.230808 ,-0.165071};
  45. static float N041[3] = {-0.918285 ,-0.376803 ,-0.121542};
  46. static float N042[3] = {-0.622467 ,-0.774167 ,-0.114888};
  47. static float N043[3] = {0.404497 ,-0.908807 ,-0.102231};
  48. static float N044[3] = {0.930538 ,-0.365155 ,-0.027588};
  49. static float N045[3] = {0.921920 ,0.374157 ,-0.100345};
  50. static float N046[3] = {0.507346 ,0.860739 ,0.041562};
  51. static float N047[3] = {-0.394646 ,0.918815 ,-0.005730};
  52. static float N048[3] = {-0.925411 ,0.373024 ,-0.066837};
  53. static float N049[3] = {-0.945337 ,-0.322309 ,-0.049551};
  54. static float N050[3] = {-0.660437 ,-0.750557 ,-0.022072};
  55. static float N051[3] = {0.488835 ,-0.871950 ,-0.027261};
  56. static float N052[3] = {0.902599 ,-0.421397 ,0.087969};
  57. static float N053[3] = {0.938636 ,0.322606 ,0.122020};
  58. static float N054[3] = {0.484605 ,0.871078 ,0.079878};
  59. static float N055[3] = {-0.353607 ,0.931559 ,0.084619};
  60. static float N056[3] = {-0.867759 ,0.478564 ,0.134054};
  61. static float N057[3] = {-0.951583 ,-0.296030 ,0.082794};
  62. static float N058[3] = {-0.672355 ,-0.730209 ,0.121384};
  63. static float N059[3] = {0.528336 ,-0.842452 ,0.105525};
  64. static float N060[3] = {0.786913 ,-0.564760 ,0.248627};
  65. static float N061[3] = {0.000000 ,1.000000 ,0.000000};
  66. static float N062[3] = {0.622098 ,0.765230 ,0.165584};
  67. static float N063[3] = {-0.631711 ,0.767816 ,0.106773};
  68. static float N064[3] = {-0.687886 ,0.606351 ,0.398938};
  69. static float N065[3] = {-0.946327 ,-0.281623 ,0.158598};
  70. static float N066[3] = {-0.509549 ,-0.860437 ,0.002776};
  71. static float N067[3] = {0.462594 ,-0.876692 ,0.131977};
  72. static float N068[3] = {0.000000 ,-0.992278 ,0.124035};
  73. static float N069[3] = {0.000000 ,-0.970143 ,-0.242536};
  74. static float N070[3] = {0.015502 ,0.992159 ,-0.124020};
  75. static float N071[3] = {0.000000 ,1.000000 ,0.000000};
  76. static float N072[3] = {0.000000 ,1.000000 ,0.000000};
  77. static float N073[3] = {0.000000 ,1.000000 ,0.000000};
  78. static float N074[3] = {0.000000 ,-1.000000 ,0.000000};
  79. static float N075[3] = {-0.242536 ,0.000000 ,-0.970143};
  80. static float N076[3] = {-0.010336 ,-0.992225 ,-0.124028};
  81. static float N077[3] = {-0.880770 ,0.461448 ,0.106351};
  82. static float N078[3] = {-0.880770 ,0.461448 ,0.106351};
  83. static float N079[3] = {-0.880770 ,0.461448 ,0.106351};
  84. static float N080[3] = {-0.880770 ,0.461448 ,0.106351};
  85. static float N081[3] = {-0.571197 ,0.816173 ,0.087152};
  86. static float N082[3] = {-0.880770 ,0.461448 ,0.106351};
  87. static float N083[3] = {-0.571197 ,0.816173 ,0.087152};
  88. static float N084[3] = {-0.571197 ,0.816173 ,0.087152};
  89. static float N085[3] = {-0.880770 ,0.461448 ,0.106351};
  90. static float N086[3] = {-0.571197 ,0.816173 ,0.087152};
  91. static float N087[3] = {-0.880770 ,0.461448 ,0.106351};
  92. static float N088[3] = {-0.880770 ,0.461448 ,0.106351};
  93. static float N089[3] = {-0.880770 ,0.461448 ,0.106351};
  94. static float N090[3] = {-0.880770 ,0.461448 ,0.106351};
  95. static float N091[3] = {0.000000 ,1.000000 ,0.000000};
  96. static float N092[3] = {0.000000 ,1.000000 ,0.000000};
  97. static float N093[3] = {0.000000 ,1.000000 ,0.000000};
  98. static float N094[3] = {1.000000 ,0.000000 ,0.000000};
  99. static float N095[3] = {-1.000000 ,0.000000 ,0.000000};
  100. static float N096[3] = {0.000000 ,1.000000 ,0.000000};
  101. static float N097[3] = {-0.697296 ,0.702881 ,0.140491};
  102. static float N098[3] = {0.918864 ,0.340821 ,0.198819};
  103. static float N099[3] = {-0.932737 ,0.201195 ,0.299202};
  104. static float N100[3] = {0.029517 ,0.981679 ,0.188244};
  105. static float N101[3] = {0.000000 ,1.000000 ,0.000000};
  106. static float N102[3] = {0.813521 ,-0.204936 ,0.544229};
  107. static float N103[3] = {0.000000 ,1.000000 ,0.000000};
  108. static float N104[3] = {0.000000 ,1.000000 ,0.000000};
  109. static float N105[3] = {0.000000 ,1.000000 ,0.000000};
  110. static float N106[3] = {0.000000 ,1.000000 ,0.000000};
  111. static float N107[3] = {0.000000 ,1.000000 ,0.000000};
  112. static float N108[3] = {0.000000 ,1.000000 ,0.000000};
  113. static float N109[3] = {0.000000 ,1.000000 ,0.000000};
  114. static float N110[3] = {-0.781480 ,-0.384779 ,0.491155};
  115. static float N111[3] = {-0.722243 ,0.384927 ,0.574627};
  116. static float N112[3] = {-0.752278 ,0.502679 ,0.425901};
  117. static float N113[3] = {0.547257 ,0.367910 ,0.751766};
  118. static float N114[3] = {0.725949 ,-0.232568 ,0.647233};
  119. static float N115[3] = {-0.747182 ,-0.660786 ,0.071280};
  120. static float N116[3] = {0.931519 ,0.200748 ,0.303270};
  121. static float N117[3] = {-0.828928 ,0.313757 ,0.463071};
  122. static float N118[3] = {0.902554 ,-0.370967 ,0.218587};
  123. static float N119[3] = {-0.879257 ,-0.441851 ,0.177973};
  124. static float N120[3] = {0.642327 ,0.611901 ,0.461512};
  125. static float N121[3] = {0.964817 ,-0.202322 ,0.167910};
  126. static float N122[3] = {0.000000 ,1.000000 ,0.000000};
  127. static float N123[3] = {-0.980734 ,0.041447 ,0.190900};
  128. static float N124[3] = {-0.980734 ,0.041447 ,0.190900};
  129. static float N125[3] = {-0.980734 ,0.041447 ,0.190900};
  130. static float N126[3] = {0.000000 ,1.000000 ,0.000000};
  131. static float N127[3] = {0.000000 ,1.000000 ,0.000000};
  132. static float N128[3] = {0.000000 ,1.000000 ,0.000000};
  133. static float N129[3] = {0.963250 ,0.004839 ,0.268565};
  134. static float N130[3] = {0.963250 ,0.004839 ,0.268565};
  135. static float N131[3] = {0.963250 ,0.004839 ,0.268565};
  136. static float N132[3] = {0.000000 ,1.000000 ,0.000000};
  137. static float N133[3] = {0.000000 ,1.000000 ,0.000000};
  138. static float N134[3] = {0.000000 ,1.000000 ,0.000000};
  139. static float P001[3] = {5.68, -300.95, 1324.70};
  140. static float P002[3] = {338.69, -219.63, 9677.03};
  141. static float P003[3] = {12.18, 474.59, 9138.14};
  142. static float P004[3] = {-7.49, -388.91, 10896.74};
  143. static float P005[3] = {487.51, 198.05, 9350.78};
  144. static float P006[3] = {-457.61, 68.74, 9427.85};
  145. static float P007[3] = {156.52, -266.72, 10311.68};
  146. static float P008[3] = {-185.56, -266.51, 10310.47};
  147. static float P009[3] = {124.39, -261.46, 1942.34};
  148. static float P010[3] = {-130.05, -261.46, 1946.03};
  149. static float P011[3] = {141.07, -320.11, 1239.38};
  150. static float P012[3] = {156.48, -360.12, 2073.41};
  151. static float P013[3] = {162.00, -175.88, 2064.44};
  152. static float P014[3] = {88.16, -87.72, 2064.02};
  153. static float P015[3] = {-65.21, -96.13, 2064.02};
  154. static float P016[3] = {-156.48, -180.96, 2064.44};
  155. static float P017[3] = {-162.00, -368.93, 2082.39};
  156. static float P018[3] = {-88.16, -439.22, 2082.39};
  157. static float P019[3] = {65.21, -440.32, 2083.39};
  158. static float P020[3] = {246.87, -356.02, 2576.95};
  159. static float P021[3] = {253.17, -111.15, 2567.15};
  160. static float P022[3] = {132.34, 51.41, 2559.84};
  161. static float P023[3] = {-97.88, 40.44, 2567.15};
  162. static float P024[3] = {-222.97, -117.49, 2567.15};
  163. static float P025[3] = {-252.22, -371.53, 2569.92};
  164. static float P026[3] = {-108.44, -518.19, 2586.75};
  165. static float P027[3] = {97.88, -524.79, 2586.75};
  166. static float P028[3] = {370.03, -421.19, 3419.70};
  167. static float P029[3] = {351.15, -16.98, 3423.17};
  168. static float P030[3] = {200.66, 248.46, 3430.37};
  169. static float P031[3] = {-148.42, 235.02, 3417.91};
  170. static float P032[3] = {-360.21, -30.27, 3416.84};
  171. static float P033[3] = {-357.90, -414.89, 3407.04};
  172. static float P034[3] = {-148.88, -631.35, 3409.90};
  173. static float P035[3] = {156.38, -632.59, 3419.70};
  174. static float P036[3] = {462.61, -469.21, 4431.51};
  175. static float P037[3] = {466.60, 102.25, 4434.98};
  176. static float P038[3] = {243.05, 474.34, 4562.02};
  177. static float P039[3] = {-191.23, 474.40, 4554.42};
  178. static float P040[3] = {-476.12, 111.05, 4451.11};
  179. static float P041[3] = {-473.36, -470.74, 4444.78};
  180. static float P042[3] = {-266.95, -748.41, 4447.78};
  181. static float P043[3] = {211.14, -749.91, 4429.73};
  182. static float P044[3] = {680.57, -370.27, 5943.46};
  183. static float P045[3] = {834.01, 363.09, 6360.63};
  184. static float P046[3] = {371.29, 804.51, 6486.26};
  185. static float P047[3] = {-291.43, 797.22, 6494.28};
  186. static float P048[3] = {-784.13, 370.75, 6378.01};
  187. static float P049[3] = {-743.29, -325.82, 5943.46};
  188. static float P050[3] = {-383.24, -804.77, 5943.46};
  189. static float P051[3] = {283.47, -846.09, 5943.46};
  190. static float iP001[3] = {5.68, -300.95, 1324.70};
  191. static float iP002[3] = {338.69, -219.63, 9677.03};
  192. static float iP003[3] = {12.18, 624.93, 8956.39};
  193. static float iP004[3] = {-7.49, -388.91, 10896.74};
  194. static float iP005[3] = {487.51, 198.05, 9350.78};
  195. static float iP006[3] = {-457.61, 199.04, 9353.01};
  196. static float iP007[3] = {156.52, -266.72, 10311.68};
  197. static float iP008[3] = {-185.56, -266.51, 10310.47};
  198. static float iP009[3] = {124.39, -261.46, 1942.34};
  199. static float iP010[3] = {-130.05, -261.46, 1946.03};
  200. static float iP011[3] = {141.07, -320.11, 1239.38};
  201. static float iP012[3] = {156.48, -360.12, 2073.41};
  202. static float iP013[3] = {162.00, -175.88, 2064.44};
  203. static float iP014[3] = {88.16, -87.72, 2064.02};
  204. static float iP015[3] = {-65.21, -96.13, 2064.02};
  205. static float iP016[3] = {-156.48, -180.96, 2064.44};
  206. static float iP017[3] = {-162.00, -368.93, 2082.39};
  207. static float iP018[3] = {-88.16, -439.22, 2082.39};
  208. static float iP019[3] = {65.21, -440.32, 2083.39};
  209. static float iP020[3] = {246.87, -356.02, 2576.95};
  210. static float iP021[3] = {253.17, -111.15, 2567.15};
  211. static float iP022[3] = {132.34, 51.41, 2559.84};
  212. static float iP023[3] = {-97.88, 40.44, 2567.15};
  213. static float iP024[3] = {-222.97, -117.49, 2567.15};
  214. static float iP025[3] = {-252.22, -371.53, 2569.92};
  215. static float iP026[3] = {-108.44, -518.19, 2586.75};
  216. static float iP027[3] = {97.88, -524.79, 2586.75};
  217. static float iP028[3] = {370.03, -421.19, 3419.70};
  218. static float iP029[3] = {351.15, -16.98, 3423.17};
  219. static float iP030[3] = {200.66, 248.46, 3430.37};
  220. static float iP031[3] = {-148.42, 235.02, 3417.91};
  221. static float iP032[3] = {-360.21, -30.27, 3416.84};
  222. static float iP033[3] = {-357.90, -414.89, 3407.04};
  223. static float iP034[3] = {-148.88, -631.35, 3409.90};
  224. static float iP035[3] = {156.38, -632.59, 3419.70};
  225. static float iP036[3] = {462.61, -469.21, 4431.51};
  226. static float iP037[3] = {466.60, 102.25, 4434.98};
  227. static float iP038[3] = {243.05, 474.34, 4562.02};
  228. static float iP039[3] = {-191.23, 474.40, 4554.42};
  229. static float iP040[3] = {-476.12, 111.05, 4451.11};
  230. static float iP041[3] = {-473.36, -470.74, 4444.78};
  231. static float iP042[3] = {-266.95, -748.41, 4447.78};
  232. static float iP043[3] = {211.14, -749.91, 4429.73};
  233. static float iP044[3] = {680.57, -370.27, 5943.46};
  234. static float iP045[3] = {834.01, 363.09, 6360.63};
  235. static float iP046[3] = {371.29, 804.51, 6486.26};
  236. static float iP047[3] = {-291.43, 797.22, 6494.28};
  237. static float iP048[3] = {-784.13, 370.75, 6378.01};
  238. static float iP049[3] = {-743.29, -325.82, 5943.46};
  239. static float iP050[3] = {-383.24, -804.77, 5943.46};
  240. static float iP051[3] = {283.47, -846.09, 5943.46};
  241. static float P052[3] = {599.09, -300.15, 7894.03};
  242. static float P053[3] = {735.48, 306.26, 7911.92};
  243. static float P054[3] = {246.22, 558.53, 8460.50};
  244. static float P055[3] = {-230.41, 559.84, 8473.23};
  245. static float P056[3] = {-698.66, 320.83, 7902.59};
  246. static float P057[3] = {-643.29, -299.16, 7902.59};
  247. static float P058[3] = {-341.47, -719.30, 7902.59};
  248. static float P059[3] = {252.57, -756.12, 7902.59};
  249. static float P060[3] = {458.39, -265.31, 9355.44};
  250. static float P061[3] = {433.38, -161.90, 9503.03};
  251. static float P062[3] = {224.04, 338.75, 9450.30};
  252. static float P063[3] = {-165.71, 341.04, 9462.35};
  253. static float P064[3] = {-298.11, 110.13, 10180.37};
  254. static float P065[3] = {-473.99, -219.71, 9355.44};
  255. static float P066[3] = {-211.97, -479.87, 9355.44};
  256. static float P067[3] = {192.86, -491.45, 9348.73};
  257. static float P068[3] = {-136.29, -319.84, 1228.73};
  258. static float P069[3] = {1111.17, -314.14, 1314.19};
  259. static float P070[3] = {-1167.34, -321.61, 1319.45};
  260. static float P071[3] = {1404.86, -306.66, 1235.45};
  261. static float P072[3] = {-1409.73, -314.14, 1247.66};
  262. static float P073[3] = {1254.01, -296.87, 1544.58};
  263. static float P074[3] = {-1262.09, -291.70, 1504.26};
  264. static float P075[3] = {965.71, -269.26, 1742.65};
  265. static float P076[3] = {-900.97, -276.74, 1726.07};
  266. static float iP068[3] = {-136.29, -319.84, 1228.73};
  267. static float iP069[3] = {1111.17, -314.14, 1314.19};
  268. static float iP070[3] = {-1167.34, -321.61, 1319.45};
  269. static float iP071[3] = {1404.86, -306.66, 1235.45};
  270. static float iP072[3] = {-1409.73, -314.14, 1247.66};
  271. static float iP073[3] = {1254.01, -296.87, 1544.58};
  272. static float iP074[3] = {-1262.09, -291.70, 1504.26};
  273. static float iP075[3] = {965.71, -269.26, 1742.65};
  274. static float iP076[3] = {-900.97, -276.74, 1726.07};
  275. static float P077[3] = {1058.00, -448.81, 8194.66};
  276. static float P078[3] = {-1016.51, -456.43, 8190.62};
  277. static float P079[3] = {-1515.96, -676.45, 7754.93};
  278. static float P080[3] = {1856.75, -830.34, 7296.56};
  279. static float P081[3] = {1472.16, -497.38, 7399.68};
  280. static float P082[3] = {-1775.26, -829.51, 7298.46};
  281. static float P083[3] = {911.09, -252.51, 7510.99};
  282. static float P084[3] = {-1451.94, -495.62, 7384.30};
  283. static float P085[3] = {1598.75, -669.26, 7769.90};
  284. static float P086[3] = {-836.53, -250.08, 7463.25};
  285. static float P087[3] = {722.87, -158.18, 8006.41};
  286. static float P088[3] = {-688.86, -162.28, 7993.89};
  287. static float P089[3] = {-626.92, -185.30, 8364.98};
  288. static float P090[3] = {647.72, -189.46, 8354.99};
  289. static float P091[3] = {0.00, 835.01, 5555.62};
  290. static float P092[3] = {0.00, 1350.18, 5220.86};
  291. static float P093[3] = {0.00, 1422.94, 5285.27};
  292. static float P094[3] = {0.00, 1296.75, 5650.19};
  293. static float P095[3] = {0.00, 795.63, 6493.88};
  294. static float iP091[3] = {0.00, 835.01, 5555.62};
  295. static float iP092[3] = {0.00, 1350.18, 5220.86};
  296. static float iP093[3] = {0.00, 1422.94, 5285.27};
  297. static float iP094[3] = {0.00, 1296.75, 5650.19};
  298. static float iP095[3] = {0.00, 795.63, 6493.88};
  299. static float P096[3] = {-447.38, -165.99, 9499.60};
  300. static float P097[3] = {-194.91, -357.14, 10313.32};
  301. static float P098[3] = {135.35, -357.66, 10307.94};
  302. static float iP097[3] = {-194.91, -357.14, 10313.32};
  303. static float iP098[3] = {135.35, -357.66, 10307.94};
  304. static float P099[3] = {-380.53, -221.14, 9677.98};
  305. static float P100[3] = {0.00, 412.99, 9629.33};
  306. static float P101[3] = {5.70, 567.00, 7862.98};
  307. static float P102[3] = {59.51, -412.55, 10677.58};
  308. static float iP102[3] = {59.51, -412.55, 10677.58};
  309. static float P103[3] = {6.50, 484.74, 9009.94};
  310. static float P104[3] = {-9.86, 567.62, 7858.65};
  311. static float P105[3] = {-41.86, 476.51, 9078.17};
  312. static float P106[3] = {22.75, 568.13, 7782.83};
  313. static float P107[3] = {58.93, 568.42, 7775.94};
  314. static float P108[3] = {49.20, 476.83, 9078.24};
  315. static float P109[3] = {99.21, 566.00, 7858.65};
  316. static float P110[3] = {-187.62, -410.04, 10674.12};
  317. static float iP110[3] = {-187.62, -410.04, 10674.12};
  318. static float P111[3] = {-184.25, -318.70, 10723.88};
  319. static float iP111[3] = {-184.25, -318.70, 10723.88};
  320. static float P112[3] = {-179.61, -142.81, 10670.26};
  321. static float P113[3] = {57.43, -147.94, 10675.26};
  322. static float P114[3] = {54.06, -218.90, 10712.44};
  323. static float P115[3] = {-186.35, -212.09, 10713.76};
  324. static float P116[3] = {205.90, -84.61, 10275.97};
  325. static float P117[3] = {-230.96, -83.26, 10280.09};
  326. static float iP118[3] = {216.78, -509.17, 10098.94};
  327. static float iP119[3] = {-313.21, -510.79, 10102.62};
  328. static float P118[3] = {216.78, -509.17, 10098.94};
  329. static float P119[3] = {-313.21, -510.79, 10102.62};
  330. static float P120[3] = {217.95, 96.34, 10161.62};
  331. static float P121[3] = {71.99, -319.74, 10717.70};
  332. static float iP121[3] = {71.99, -319.74, 10717.70};
  333. static float P122[3] = {0.00, 602.74, 5375.84};
  334. static float iP122[3] = {0.00, 602.74, 5375.84};
  335. static float P123[3] = {-448.94, -203.14, 9499.60};
  336. static float P124[3] = {-442.64, -185.20, 9528.07};
  337. static float P125[3] = {-441.07, -148.05, 9528.07};
  338. static float P126[3] = {-443.43, -128.84, 9499.60};
  339. static float P127[3] = {-456.87, -146.78, 9466.67};
  340. static float P128[3] = {-453.68, -183.93, 9466.67};
  341. static float P129[3] = {428.43, -124.08, 9503.03};
  342. static float P130[3] = {419.73, -142.14, 9534.56};
  343. static float P131[3] = {419.92, -179.96, 9534.56};
  344. static float P132[3] = {431.20, -199.73, 9505.26};
  345. static float P133[3] = {442.28, -181.67, 9475.96};
  346. static float P134[3] = {442.08, -143.84, 9475.96};
  347. void Dolphin001(void)
  348. {
  349. glNormal3fv(N071);
  350. glBegin(GL_POLYGON);
  351. glVertex3fv(P001);
  352. glVertex3fv(P068);
  353. glVertex3fv(P010);
  354. glEnd();
  355. glBegin(GL_POLYGON);
  356. glVertex3fv(P068);
  357. glVertex3fv(P076);
  358. glVertex3fv(P010);
  359. glEnd();
  360. glBegin(GL_POLYGON);
  361. glVertex3fv(P068);
  362. glVertex3fv(P070);
  363. glVertex3fv(P076);
  364. glEnd();
  365. glBegin(GL_POLYGON);
  366. glVertex3fv(P076);
  367. glVertex3fv(P070);
  368. glVertex3fv(P074);
  369. glEnd();
  370. glBegin(GL_POLYGON);
  371. glVertex3fv(P070);
  372. glVertex3fv(P072);
  373. glVertex3fv(P074);
  374. glEnd();
  375. glNormal3fv(N119);
  376. glBegin(GL_POLYGON);
  377. glVertex3fv(P072);
  378. glVertex3fv(P070);
  379. glVertex3fv(P074);
  380. glEnd();
  381. glBegin(GL_POLYGON);
  382. glVertex3fv(P074);
  383. glVertex3fv(P070);
  384. glVertex3fv(P076);
  385. glEnd();
  386. glBegin(GL_POLYGON);
  387. glVertex3fv(P070);
  388. glVertex3fv(P068);
  389. glVertex3fv(P076);
  390. glEnd();
  391. glBegin(GL_POLYGON);
  392. glVertex3fv(P076);
  393. glVertex3fv(P068);
  394. glVertex3fv(P010);
  395. glEnd();
  396. glBegin(GL_POLYGON);
  397. glVertex3fv(P068);
  398. glVertex3fv(P001);
  399. glVertex3fv(P010);
  400. glEnd();
  401. }
  402. void Dolphin002(void)
  403. {
  404. glNormal3fv(N071);
  405. glBegin(GL_POLYGON);
  406. glVertex3fv(P011);
  407. glVertex3fv(P001);
  408. glVertex3fv(P009);
  409. glEnd();
  410. glBegin(GL_POLYGON);
  411. glVertex3fv(P075);
  412. glVertex3fv(P011);
  413. glVertex3fv(P009);
  414. glEnd();
  415. glBegin(GL_POLYGON);
  416. glVertex3fv(P069);
  417. glVertex3fv(P011);
  418. glVertex3fv(P075);
  419. glEnd();
  420. glBegin(GL_POLYGON);
  421. glVertex3fv(P069);
  422. glVertex3fv(P075);
  423. glVertex3fv(P073);
  424. glEnd();
  425. glBegin(GL_POLYGON);
  426. glVertex3fv(P071);
  427. glVertex3fv(P069);
  428. glVertex3fv(P073);
  429. glEnd();
  430. glNormal3fv(N119);
  431. glBegin(GL_POLYGON);
  432. glVertex3fv(P001);
  433. glVertex3fv(P011);
  434. glVertex3fv(P009);
  435. glEnd();
  436. glBegin(GL_POLYGON);
  437. glVertex3fv(P009);
  438. glVertex3fv(P011);
  439. glVertex3fv(P075);
  440. glEnd();
  441. glBegin(GL_POLYGON);
  442. glVertex3fv(P011);
  443. glVertex3fv(P069);
  444. glVertex3fv(P075);
  445. glEnd();
  446. glBegin(GL_POLYGON);
  447. glVertex3fv(P069);
  448. glVertex3fv(P073);
  449. glVertex3fv(P075);
  450. glEnd();
  451. glBegin(GL_POLYGON);
  452. glVertex3fv(P069);
  453. glVertex3fv(P071);
  454. glVertex3fv(P073);
  455. glEnd();
  456. }
  457. void Dolphin003(void)
  458. {
  459. glBegin(GL_POLYGON);
  460. glNormal3fv(N018);
  461. glVertex3fv(P018);
  462. glNormal3fv(N001);
  463. glVertex3fv(P001);
  464. glNormal3fv(N019);
  465. glVertex3fv(P019);
  466. glEnd();
  467. glBegin(GL_POLYGON);
  468. glNormal3fv(N019);
  469. glVertex3fv(P019);
  470. glNormal3fv(N001);
  471. glVertex3fv(P001);
  472. glNormal3fv(N012);
  473. glVertex3fv(P012);
  474. glEnd();
  475. glBegin(GL_POLYGON);
  476. glNormal3fv(N017);
  477. glVertex3fv(P017);
  478. glNormal3fv(N001);
  479. glVertex3fv(P001);
  480. glNormal3fv(N018);
  481. glVertex3fv(P018);
  482. glEnd();
  483. glBegin(GL_POLYGON);
  484. glNormal3fv(N001);
  485. glVertex3fv(P001);
  486. glNormal3fv(N017);
  487. glVertex3fv(P017);
  488. glNormal3fv(N016);
  489. glVertex3fv(P016);
  490. glEnd();
  491. glBegin(GL_POLYGON);
  492. glNormal3fv(N001);
  493. glVertex3fv(P001);
  494. glNormal3fv(N013);
  495. glVertex3fv(P013);
  496. glNormal3fv(N012);
  497. glVertex3fv(P012);
  498. glEnd();
  499. glBegin(GL_POLYGON);
  500. glNormal3fv(N001);
  501. glVertex3fv(P001);
  502. glNormal3fv(N016);
  503. glVertex3fv(P016);
  504. glNormal3fv(N015);
  505. glVertex3fv(P015);
  506. glEnd();
  507. glBegin(GL_POLYGON);
  508. glNormal3fv(N001);
  509. glVertex3fv(P001);
  510. glNormal3fv(N014);
  511. glVertex3fv(P014);
  512. glNormal3fv(N013);
  513. glVertex3fv(P013);
  514. glEnd();
  515. glBegin(GL_POLYGON);
  516. glNormal3fv(N001);
  517. glVertex3fv(P001);
  518. glNormal3fv(N015);
  519. glVertex3fv(P015);
  520. glNormal3fv(N014);
  521. glVertex3fv(P014);
  522. glEnd();
  523. }
  524. void Dolphin004(void)
  525. {
  526. glBegin(GL_POLYGON);
  527. glNormal3fv(N014);
  528. glVertex3fv(P014);
  529. glNormal3fv(N015);
  530. glVertex3fv(P015);
  531. glNormal3fv(N023);
  532. glVertex3fv(P023);
  533. glNormal3fv(N022);
  534. glVertex3fv(P022);
  535. glEnd();
  536. glBegin(GL_POLYGON);
  537. glNormal3fv(N015);
  538. glVertex3fv(P015);
  539. glNormal3fv(N016);
  540. glVertex3fv(P016);
  541. glNormal3fv(N024);
  542. glVertex3fv(P024);
  543. glNormal3fv(N023);
  544. glVertex3fv(P023);
  545. glEnd();
  546. glBegin(GL_POLYGON);
  547. glNormal3fv(N016);
  548. glVertex3fv(P016);
  549. glNormal3fv(N017);
  550. glVertex3fv(P017);
  551. glNormal3fv(N025);
  552. glVertex3fv(P025);
  553. glNormal3fv(N024);
  554. glVertex3fv(P024);
  555. glEnd();
  556. glBegin(GL_POLYGON);
  557. glNormal3fv(N017);
  558. glVertex3fv(P017);
  559. glNormal3fv(N018);
  560. glVertex3fv(P018);
  561. glNormal3fv(N026);
  562. glVertex3fv(P026);
  563. glNormal3fv(N025);
  564. glVertex3fv(P025);
  565. glEnd();
  566. glBegin(GL_POLYGON);
  567. glNormal3fv(N013);
  568. glVertex3fv(P013);
  569. glNormal3fv(N014);
  570. glVertex3fv(P014);
  571. glNormal3fv(N022);
  572. glVertex3fv(P022);
  573. glNormal3fv(N021);
  574. glVertex3fv(P021);
  575. glEnd();
  576. glBegin(GL_POLYGON);
  577. glNormal3fv(N012);
  578. glVertex3fv(P012);
  579. glNormal3fv(N013);
  580. glVertex3fv(P013);
  581. glNormal3fv(N021);
  582. glVertex3fv(P021);
  583. glNormal3fv(N020);
  584. glVertex3fv(P020);
  585. glEnd();
  586. glBegin(GL_POLYGON);
  587. glNormal3fv(N018);
  588. glVertex3fv(P018);
  589. glNormal3fv(N019);
  590. glVertex3fv(P019);
  591. glNormal3fv(N027);
  592. glVertex3fv(P027);
  593. glNormal3fv(N026);
  594. glVertex3fv(P026);
  595. glEnd();
  596. glBegin(GL_POLYGON);
  597. glNormal3fv(N019);
  598. glVertex3fv(P019);
  599. glNormal3fv(N012);
  600. glVertex3fv(P012);
  601. glNormal3fv(N020);
  602. glVertex3fv(P020);
  603. glNormal3fv(N027);
  604. glVertex3fv(P027);
  605. glEnd();
  606. }
  607. void Dolphin005(void)
  608. {
  609. glBegin(GL_POLYGON);
  610. glNormal3fv(N022);
  611. glVertex3fv(P022);
  612. glNormal3fv(N023);
  613. glVertex3fv(P023);
  614. glNormal3fv(N031);
  615. glVertex3fv(P031);
  616. glNormal3fv(N030);
  617. glVertex3fv(P030);
  618. glEnd();
  619. glBegin(GL_POLYGON);
  620. glNormal3fv(N021);
  621. glVertex3fv(P021);
  622. glNormal3fv(N022);
  623. glVertex3fv(P022);
  624. glNormal3fv(N030);
  625. glVertex3fv(P030);
  626. glEnd();
  627. glBegin(GL_POLYGON);
  628. glNormal3fv(N021);
  629. glVertex3fv(P021);
  630. glNormal3fv(N030);
  631. glVertex3fv(P030);
  632. glNormal3fv(N029);
  633. glVertex3fv(P029);
  634. glEnd();
  635. glBegin(GL_POLYGON);
  636. glNormal3fv(N023);
  637. glVertex3fv(P023);
  638. glNormal3fv(N024);
  639. glVertex3fv(P024);
  640. glNormal3fv(N031);
  641. glVertex3fv(P031);
  642. glEnd();
  643. glBegin(GL_POLYGON);
  644. glNormal3fv(N024);
  645. glVertex3fv(P024);
  646. glNormal3fv(N032);
  647. glVertex3fv(P032);
  648. glNormal3fv(N031);
  649. glVertex3fv(P031);
  650. glEnd();
  651. glBegin(GL_POLYGON);
  652. glNormal3fv(N024);
  653. glVertex3fv(P024);
  654. glNormal3fv(N025);
  655. glVertex3fv(P025);
  656. glNormal3fv(N032);
  657. glVertex3fv(P032);
  658. glEnd();
  659. glBegin(GL_POLYGON);
  660. glNormal3fv(N025);
  661. glVertex3fv(P025);
  662. glNormal3fv(N033);
  663. glVertex3fv(P033);
  664. glNormal3fv(N032);
  665. glVertex3fv(P032);
  666. glEnd();
  667. glBegin(GL_POLYGON);
  668. glNormal3fv(N020);
  669. glVertex3fv(P020);
  670. glNormal3fv(N021);
  671. glVertex3fv(P021);
  672. glNormal3fv(N029);
  673. glVertex3fv(P029);
  674. glEnd();
  675. glBegin(GL_POLYGON);
  676. glNormal3fv(N020);
  677. glVertex3fv(P020);
  678. glNormal3fv(N029);
  679. glVertex3fv(P029);
  680. glNormal3fv(N028);
  681. glVertex3fv(P028);
  682. glEnd();
  683. glBegin(GL_POLYGON);
  684. glNormal3fv(N027);
  685. glVertex3fv(P027);
  686. glNormal3fv(N020);
  687. glVertex3fv(P020);
  688. glNormal3fv(N028);
  689. glVertex3fv(P028);
  690. glEnd();
  691. glBegin(GL_POLYGON);
  692. glNormal3fv(N027);
  693. glVertex3fv(P027);
  694. glNormal3fv(N028);
  695. glVertex3fv(P028);
  696. glNormal3fv(N035);
  697. glVertex3fv(P035);
  698. glEnd();
  699. glBegin(GL_POLYGON);
  700. glNormal3fv(N025);
  701. glVertex3fv(P025);
  702. glNormal3fv(N026);
  703. glVertex3fv(P026);
  704. glNormal3fv(N033);
  705. glVertex3fv(P033);
  706. glEnd();
  707. glBegin(GL_POLYGON);
  708. glNormal3fv(N033);
  709. glVertex3fv(P033);
  710. glNormal3fv(N026);
  711. glVertex3fv(P026);
  712. glNormal3fv(N034);
  713. glVertex3fv(P034);
  714. glEnd();
  715. glBegin(GL_POLYGON);
  716. glNormal3fv(N026);
  717. glVertex3fv(P026);
  718. glNormal3fv(N027);
  719. glVertex3fv(P027);
  720. glNormal3fv(N035);
  721. glVertex3fv(P035);
  722. glNormal3fv(N034);
  723. glVertex3fv(P034);
  724. glEnd();
  725. }
  726. void Dolphin006(void)
  727. {
  728. glBegin(GL_POLYGON);
  729. glNormal3fv(N092);
  730. glVertex3fv(P092);
  731. glNormal3fv(N093);
  732. glVertex3fv(P093);
  733. glNormal3fv(N094);
  734. glVertex3fv(P094);
  735. glEnd();
  736. glBegin(GL_POLYGON);
  737. glNormal3fv(N093);
  738. glVertex3fv(P093);
  739. glNormal3fv(N092);
  740. glVertex3fv(P092);
  741. glNormal3fv(N094);
  742. glVertex3fv(P094);
  743. glEnd();
  744. glBegin(GL_POLYGON);
  745. glNormal3fv(N092);
  746. glVertex3fv(P092);
  747. glNormal3fv(N091);
  748. glVertex3fv(P091);
  749. glNormal3fv(N095);
  750. glVertex3fv(P095);
  751. glNormal3fv(N094);
  752. glVertex3fv(P094);
  753. glEnd();
  754. glBegin(GL_POLYGON);
  755. glNormal3fv(N091);
  756. glVertex3fv(P091);
  757. glNormal3fv(N092);
  758. glVertex3fv(P092);
  759. glNormal3fv(N094);
  760. glVertex3fv(P094);
  761. glNormal3fv(N095);
  762. glVertex3fv(P095);
  763. glEnd();
  764. glBegin(GL_POLYGON);
  765. glNormal3fv(N122);
  766. glVertex3fv(P122);
  767. glNormal3fv(N095);
  768. glVertex3fv(P095);
  769. glNormal3fv(N091);
  770. glVertex3fv(P091);
  771. glEnd();
  772. glBegin(GL_POLYGON);
  773. glNormal3fv(N122);
  774. glVertex3fv(P122);
  775. glNormal3fv(N091);
  776. glVertex3fv(P091);
  777. glNormal3fv(N095);
  778. glVertex3fv(P095);
  779. glEnd();
  780. }
  781. void Dolphin007(void)
  782. {
  783. glBegin(GL_POLYGON);
  784. glNormal3fv(N030);
  785. glVertex3fv(P030);
  786. glNormal3fv(N031);
  787. glVertex3fv(P031);
  788. glNormal3fv(N039);
  789. glVertex3fv(P039);
  790. glNormal3fv(N038);
  791. glVertex3fv(P038);
  792. glEnd();
  793. glBegin(GL_POLYGON);
  794. glNormal3fv(N029);
  795. glVertex3fv(P029);
  796. glNormal3fv(N030);
  797. glVertex3fv(P030);
  798. glNormal3fv(N038);
  799. glVertex3fv(P038);
  800. glEnd();
  801. glBegin(GL_POLYGON);
  802. glNormal3fv(N029);
  803. glVertex3fv(P029);
  804. glNormal3fv(N038);
  805. glVertex3fv(P038);
  806. glNormal3fv(N037);
  807. glVertex3fv(P037);
  808. glEnd();
  809. glBegin(GL_POLYGON);
  810. glNormal3fv(N028);
  811. glVertex3fv(P028);
  812. glNormal3fv(N029);
  813. glVertex3fv(P029);
  814. glNormal3fv(N037);
  815. glVertex3fv(P037);
  816. glEnd();
  817. glBegin(GL_POLYGON);
  818. glNormal3fv(N028);
  819. glVertex3fv(P028);
  820. glNormal3fv(N037);
  821. glVertex3fv(P037);
  822. glNormal3fv(N036);
  823. glVertex3fv(P036);
  824. glEnd();
  825. glBegin(GL_POLYGON);
  826. glNormal3fv(N035);
  827. glVertex3fv(P035);
  828. glNormal3fv(N028);
  829. glVertex3fv(P028);
  830. glNormal3fv(N036);
  831. glVertex3fv(P036);
  832. glEnd();
  833. glBegin(GL_POLYGON);
  834. glNormal3fv(N035);
  835. glVertex3fv(P035);
  836. glNormal3fv(N036);
  837. glVertex3fv(P036);
  838. glNormal3fv(N043);
  839. glVertex3fv(P043);
  840. glEnd();
  841. glBegin(GL_POLYGON);
  842. glNormal3fv(N034);
  843. glVertex3fv(P034);
  844. glNormal3fv(N035);
  845. glVertex3fv(P035);
  846. glNormal3fv(N043);
  847. glVertex3fv(P043);
  848. glNormal3fv(N042);
  849. glVertex3fv(P042);
  850. glEnd();
  851. glBegin(GL_POLYGON);
  852. glNormal3fv(N033);
  853. glVertex3fv(P033);
  854. glNormal3fv(N034);
  855. glVertex3fv(P034);
  856. glNormal3fv(N042);
  857. glVertex3fv(P042);
  858. glEnd();
  859. glBegin(GL_POLYGON);
  860. glNormal3fv(N033);
  861. glVertex3fv(P033);
  862. glNormal3fv(N042);
  863. glVertex3fv(P042);
  864. glNormal3fv(N041);
  865. glVertex3fv(P041);
  866. glEnd();
  867. glBegin(GL_POLYGON);
  868. glNormal3fv(N031);
  869. glVertex3fv(P031);
  870. glNormal3fv(N032);
  871. glVertex3fv(P032);
  872. glNormal3fv(N039);
  873. glVertex3fv(P039);
  874. glEnd();
  875. glBegin(GL_POLYGON);
  876. glNormal3fv(N039);
  877. glVertex3fv(P039);
  878. glNormal3fv(N032);
  879. glVertex3fv(P032);
  880. glNormal3fv(N040);
  881. glVertex3fv(P040);
  882. glEnd();
  883. glBegin(GL_POLYGON);
  884. glNormal3fv(N032);
  885. glVertex3fv(P032);
  886. glNormal3fv(N033);
  887. glVertex3fv(P033);
  888. glNormal3fv(N040);
  889. glVertex3fv(P040);
  890. glEnd();
  891. glBegin(GL_POLYGON);
  892. glNormal3fv(N040);
  893. glVertex3fv(P040);
  894. glNormal3fv(N033);
  895. glVertex3fv(P033);
  896. glNormal3fv(N041);
  897. glVertex3fv(P041);
  898. glEnd();
  899. }
  900. void Dolphin008(void)
  901. {
  902. glBegin(GL_POLYGON);
  903. glNormal3fv(N042);
  904. glVertex3fv(P042);
  905. glNormal3fv(N043);
  906. glVertex3fv(P043);
  907. glNormal3fv(N051);
  908. glVertex3fv(P051);
  909. glNormal3fv(N050);
  910. glVertex3fv(P050);
  911. glEnd();
  912. glBegin(GL_POLYGON);
  913. glNormal3fv(N043);
  914. glVertex3fv(P043);
  915. glNormal3fv(N036);
  916. glVertex3fv(P036);
  917. glNormal3fv(N051);
  918. glVertex3fv(P051);
  919. glEnd();
  920. glBegin(GL_POLYGON);
  921. glNormal3fv(N051);
  922. glVertex3fv(P051);
  923. glNormal3fv(N036);
  924. glVertex3fv(P036);
  925. glNormal3fv(N044);
  926. glVertex3fv(P044);
  927. glEnd();
  928. glBegin(GL_POLYGON);
  929. glNormal3fv(N041);
  930. glVertex3fv(P041);
  931. glNormal3fv(N042);
  932. glVertex3fv(P042);
  933. glNormal3fv(N050);
  934. glVertex3fv(P050);
  935. glEnd();
  936. glBegin(GL_POLYGON);
  937. glNormal3fv(N041);
  938. glVertex3fv(P041);
  939. glNormal3fv(N050);
  940. glVertex3fv(P050);
  941. glNormal3fv(N049);
  942. glVertex3fv(P049);
  943. glEnd();
  944. glBegin(GL_POLYGON);
  945. glNormal3fv(N036);
  946. glVertex3fv(P036);
  947. glNormal3fv(N037);
  948. glVertex3fv(P037);
  949. glNormal3fv(N044);
  950. glVertex3fv(P044);
  951. glEnd();
  952. glBegin(GL_POLYGON);
  953. glNormal3fv(N044);
  954. glVertex3fv(P044);
  955. glNormal3fv(N037);
  956. glVertex3fv(P037);
  957. glNormal3fv(N045);
  958. glVertex3fv(P045);
  959. glEnd();
  960. glBegin(GL_POLYGON);
  961. glNormal3fv(N040);
  962. glVertex3fv(P040);
  963. glNormal3fv(N041);
  964. glVertex3fv(P041);
  965. glNormal3fv(N049);
  966. glVertex3fv(P049);
  967. glEnd();
  968. glBegin(GL_POLYGON);
  969. glNormal3fv(N040);
  970. glVertex3fv(P040);
  971. glNormal3fv(N049);
  972. glVertex3fv(P049);
  973. glNormal3fv(N048);
  974. glVertex3fv(P048);
  975. glEnd();
  976. glBegin(GL_POLYGON);
  977. glNormal3fv(N039);
  978. glVertex3fv(P039);
  979. glNormal3fv(N040);
  980. glVertex3fv(P040);
  981. glNormal3fv(N048);
  982. glVertex3fv(P048);
  983. glEnd();
  984. glBegin(GL_POLYGON);
  985. glNormal3fv(N039);
  986. glVertex3fv(P039);
  987. glNormal3fv(N048);
  988. glVertex3fv(P048);
  989. glNormal3fv(N047);
  990. glVertex3fv(P047);
  991. glEnd();
  992. glBegin(GL_POLYGON);
  993. glNormal3fv(N037);
  994. glVertex3fv(P037);
  995. glNormal3fv(N038);
  996. glVertex3fv(P038);
  997. glNormal3fv(N045);
  998. glVertex3fv(P045);
  999. glEnd();
  1000. glBegin(GL_POLYGON);
  1001. glNormal3fv(N038);
  1002. glVertex3fv(P038);
  1003. glNormal3fv(N046);
  1004. glVertex3fv(P046);
  1005. glNormal3fv(N045);
  1006. glVertex3fv(P045);
  1007. glEnd();
  1008. glBegin(GL_POLYGON);
  1009. glNormal3fv(N038);
  1010. glVertex3fv(P038);
  1011. glNormal3fv(N039);
  1012. glVertex3fv(P039);
  1013. glNormal3fv(N047);
  1014. glVertex3fv(P047);
  1015. glNormal3fv(N046);
  1016. glVertex3fv(P046);
  1017. glEnd();
  1018. }
  1019. void Dolphin009(void)
  1020. {
  1021. glBegin(GL_POLYGON);
  1022. glNormal3fv(N050);
  1023. glVertex3fv(P050);
  1024. glNormal3fv(N051);
  1025. glVertex3fv(P051);
  1026. glNormal3fv(N059);
  1027. glVertex3fv(P059);
  1028. glNormal3fv(N058);
  1029. glVertex3fv(P058);
  1030. glEnd();
  1031. glBegin(GL_POLYGON);
  1032. glNormal3fv(N051);
  1033. glVertex3fv(P051);
  1034. glNormal3fv(N044);
  1035. glVertex3fv(P044);
  1036. glNormal3fv(N059);
  1037. glVertex3fv(P059);
  1038. glEnd();
  1039. glBegin(GL_POLYGON);
  1040. glNormal3fv(N059);
  1041. glVertex3fv(P059);
  1042. glNormal3fv(N044);
  1043. glVertex3fv(P044);
  1044. glNormal3fv(N052);
  1045. glVertex3fv(P052);
  1046. glEnd();
  1047. glBegin(GL_POLYGON);
  1048. glNormal3fv(N044);
  1049. glVertex3fv(P044);
  1050. glNormal3fv(N045);
  1051. glVertex3fv(P045);
  1052. glNormal3fv(N053);
  1053. glVertex3fv(P053);
  1054. glEnd();
  1055. glBegin(GL_POLYGON);
  1056. glNormal3fv(N044);
  1057. glVertex3fv(P044);
  1058. glNormal3fv(N053);
  1059. glVertex3fv(P053);
  1060. glNormal3fv(N052);
  1061. glVertex3fv(P052);
  1062. glEnd();
  1063. glBegin(GL_POLYGON);
  1064. glNormal3fv(N049);
  1065. glVertex3fv(P049);
  1066. glNormal3fv(N050);
  1067. glVertex3fv(P050);
  1068. glNormal3fv(N058);
  1069. glVertex3fv(P058);
  1070. glEnd();
  1071. glBegin(GL_POLYGON);
  1072. glNormal3fv(N049);
  1073. glVertex3fv(P049);
  1074. glNormal3fv(N058);
  1075. glVertex3fv(P058);
  1076. glNormal3fv(N057);
  1077. glVertex3fv(P057);
  1078. glEnd();
  1079. glBegin(GL_POLYGON);
  1080. glNormal3fv(N048);
  1081. glVertex3fv(P048);
  1082. glNormal3fv(N049);
  1083. glVertex3fv(P049);
  1084. glNormal3fv(N057);
  1085. glVertex3fv(P057);
  1086. glEnd();
  1087. glBegin(GL_POLYGON);
  1088. glNormal3fv(N048);
  1089. glVertex3fv(P048);
  1090. glNormal3fv(N057);
  1091. glVertex3fv(P057);
  1092. glNormal3fv(N056);
  1093. glVertex3fv(P056);
  1094. glEnd();
  1095. glBegin(GL_POLYGON);
  1096. glNormal3fv(N047);
  1097. glVertex3fv(P047);
  1098. glNormal3fv(N048);
  1099. glVertex3fv(P048);
  1100. glNormal3fv(N056);
  1101. glVertex3fv(P056);
  1102. glEnd();
  1103. glBegin(GL_POLYGON);
  1104. glNormal3fv(N047);
  1105. glVertex3fv(P047);
  1106. glNormal3fv(N056);
  1107. glVertex3fv(P056);
  1108. glNormal3fv(N055);
  1109. glVertex3fv(P055);
  1110. glEnd();
  1111. glBegin(GL_POLYGON);
  1112. glNormal3fv(N045);
  1113. glVertex3fv(P045);
  1114. glNormal3fv(N046);
  1115. glVertex3fv(P046);
  1116. glNormal3fv(N053);
  1117. glVertex3fv(P053);
  1118. glEnd();
  1119. glBegin(GL_POLYGON);
  1120. glNormal3fv(N046);
  1121. glVertex3fv(P046);
  1122. glNormal3fv(N054);
  1123. glVertex3fv(P054);
  1124. glNormal3fv(N053);
  1125. glVertex3fv(P053);
  1126. glEnd();
  1127. glBegin(GL_POLYGON);
  1128. glNormal3fv(N046);
  1129. glVertex3fv(P046);
  1130. glNormal3fv(N047);
  1131. glVertex3fv(P047);
  1132. glNormal3fv(N055);
  1133. glVertex3fv(P055);
  1134. glNormal3fv(N054);
  1135. glVertex3fv(P054);
  1136. glEnd();
  1137. }
  1138. void Dolphin010(void)
  1139. {
  1140. glBegin(GL_POLYGON);
  1141. glNormal3fv(N080);
  1142. glVertex3fv(P080);
  1143. glNormal3fv(N081);
  1144. glVertex3fv(P081);
  1145. glNormal3fv(N085);
  1146. glVertex3fv(P085);
  1147. glEnd();
  1148. glBegin(GL_POLYGON);
  1149. glNormal3fv(N081);
  1150. glVertex3fv(P081);
  1151. glNormal3fv(N083);
  1152. glVertex3fv(P083);
  1153. glNormal3fv(N085);
  1154. glVertex3fv(P085);
  1155. glEnd();
  1156. glBegin(GL_POLYGON);
  1157. glNormal3fv(N085);
  1158. glVertex3fv(P085);
  1159. glNormal3fv(N083);
  1160. glVertex3fv(P083);
  1161. glNormal3fv(N077);
  1162. glVertex3fv(P077);
  1163. glEnd();
  1164. glBegin(GL_POLYGON);
  1165. glNormal3fv(N083);
  1166. glVertex3fv(P083);
  1167. glNormal3fv(N087);
  1168. glVertex3fv(P087);
  1169. glNormal3fv(N077);
  1170. glVertex3fv(P077);
  1171. glEnd();
  1172. glBegin(GL_POLYGON);
  1173. glNormal3fv(N077);
  1174. glVertex3fv(P077);
  1175. glNormal3fv(N087);
  1176. glVertex3fv(P087);
  1177. glNormal3fv(N090);
  1178. glVertex3fv(P090);
  1179. glEnd();
  1180. glBegin(GL_POLYGON);
  1181. glNormal3fv(N081);
  1182. glVertex3fv(P081);
  1183. glNormal3fv(N080);
  1184. glVertex3fv(P080);
  1185. glNormal3fv(N085);
  1186. glVertex3fv(P085);
  1187. glEnd();
  1188. glBegin(GL_POLYGON);
  1189. glNormal3fv(N083);
  1190. glVertex3fv(P083);
  1191. glNormal3fv(N081);
  1192. glVertex3fv(P081);
  1193. glNormal3fv(N085);
  1194. glVertex3fv(P085);
  1195. glEnd();
  1196. glBegin(GL_POLYGON);
  1197. glNormal3fv(N083);
  1198. glVertex3fv(P083);
  1199. glNormal3fv(N085);
  1200. glVertex3fv(P085);
  1201. glNormal3fv(N077);
  1202. glVertex3fv(P077);
  1203. glEnd();
  1204. glBegin(GL_POLYGON);
  1205. glNormal3fv(N087);
  1206. glVertex3fv(P087);
  1207. glNormal3fv(N083);
  1208. glVertex3fv(P083);
  1209. glNormal3fv(N077);
  1210. glVertex3fv(P077);
  1211. glEnd();
  1212. glBegin(GL_POLYGON);
  1213. glNormal3fv(N087);
  1214. glVertex3fv(P087);
  1215. glNormal3fv(N077);
  1216. glVertex3fv(P077);
  1217. glNormal3fv(N090);
  1218. glVertex3fv(P090);
  1219. glEnd();
  1220. }
  1221. void Dolphin011(void)
  1222. {
  1223. glBegin(GL_POLYGON);
  1224. glNormal3fv(N082);
  1225. glVertex3fv(P082);
  1226. glNormal3fv(N084);
  1227. glVertex3fv(P084);
  1228. glNormal3fv(N079);
  1229. glVertex3fv(P079);
  1230. glEnd();
  1231. glBegin(GL_POLYGON);
  1232. glNormal3fv(N084);
  1233. glVertex3fv(P084);
  1234. glNormal3fv(N086);
  1235. glVertex3fv(P086);
  1236. glNormal3fv(N079);
  1237. glVertex3fv(P079);
  1238. glEnd();
  1239. glBegin(GL_POLYGON);
  1240. glNormal3fv(N079);
  1241. glVertex3fv(P079);
  1242. glNormal3fv(N086);
  1243. glVertex3fv(P086);
  1244. glNormal3fv(N078);
  1245. glVertex3fv(P078);
  1246. glEnd();
  1247. glBegin(GL_POLYGON);
  1248. glNormal3fv(N086);
  1249. glVertex3fv(P086);
  1250. glNormal3fv(N088);
  1251. glVertex3fv(P088);
  1252. glNormal3fv(N078);
  1253. glVertex3fv(P078);
  1254. glEnd();
  1255. glBegin(GL_POLYGON);
  1256. glNormal3fv(N078);
  1257. glVertex3fv(P078);
  1258. glNormal3fv(N088);
  1259. glVertex3fv(P088);
  1260. glNormal3fv(N089);
  1261. glVertex3fv(P089);
  1262. glEnd();
  1263. glBegin(GL_POLYGON);
  1264. glNormal3fv(N088);
  1265. glVertex3fv(P088);
  1266. glNormal3fv(N086);
  1267. glVertex3fv(P086);
  1268. glNormal3fv(N089);
  1269. glVertex3fv(P089);
  1270. glEnd();
  1271. glBegin(GL_POLYGON);
  1272. glNormal3fv(N089);
  1273. glVertex3fv(P089);
  1274. glNormal3fv(N086);
  1275. glVertex3fv(P086);
  1276. glNormal3fv(N078);
  1277. glVertex3fv(P078);
  1278. glEnd();
  1279. glBegin(GL_POLYGON);
  1280. glNormal3fv(N086);
  1281. glVertex3fv(P086);
  1282. glNormal3fv(N084);
  1283. glVertex3fv(P084);
  1284. glNormal3fv(N078);
  1285. glVertex3fv(P078);
  1286. glEnd();
  1287. glBegin(GL_POLYGON);
  1288. glNormal3fv(N078);
  1289. glVertex3fv(P078);
  1290. glNormal3fv(N084);
  1291. glVertex3fv(P084);
  1292. glNormal3fv(N079);
  1293. glVertex3fv(P079);
  1294. glEnd();
  1295. glBegin(GL_POLYGON);
  1296. glNormal3fv(N084);
  1297. glVertex3fv(P084);
  1298. glNormal3fv(N082);
  1299. glVertex3fv(P082);
  1300. glNormal3fv(N079);
  1301. glVertex3fv(P079);
  1302. glEnd();
  1303. }
  1304. void Dolphin012(void)
  1305. {
  1306. glBegin(GL_POLYGON);
  1307. glNormal3fv(N058);
  1308. glVertex3fv(P058);
  1309. glNormal3fv(N059);
  1310. glVertex3fv(P059);
  1311. glNormal3fv(N067);
  1312. glVertex3fv(P067);
  1313. glNormal3fv(N066);
  1314. glVertex3fv(P066);
  1315. glEnd();
  1316. glBegin(GL_POLYGON);
  1317. glNormal3fv(N059);
  1318. glVertex3fv(P059);
  1319. glNormal3fv(N052);
  1320. glVertex3fv(P052);
  1321. glNormal3fv(N060);
  1322. glVertex3fv(P060);
  1323. glEnd();
  1324. glBegin(GL_POLYGON);
  1325. glNormal3fv(N059);
  1326. glVertex3fv(P059);
  1327. glNormal3fv(N060);
  1328. glVertex3fv(P060);
  1329. glNormal3fv(N067);
  1330. glVertex3fv(P067);
  1331. glEnd();
  1332. glBegin(GL_POLYGON);
  1333. glNormal3fv(N058);
  1334. glVertex3fv(P058);
  1335. glNormal3fv(N066);
  1336. glVertex3fv(P066);
  1337. glNormal3fv(N065);
  1338. glVertex3fv(P065);
  1339. glEnd();
  1340. glBegin(GL_POLYGON);
  1341. glNormal3fv(N058);
  1342. glVertex3fv(P058);
  1343. glNormal3fv(N065);
  1344. glVertex3fv(P065);
  1345. glNormal3fv(N057);
  1346. glVertex3fv(P057);
  1347. glEnd();
  1348. glBegin(GL_POLYGON);
  1349. glNormal3fv(N056);
  1350. glVertex3fv(P056);
  1351. glNormal3fv(N057);
  1352. glVertex3fv(P057);
  1353. glNormal3fv(N065);
  1354. glVertex3fv(P065);
  1355. glEnd();
  1356. glBegin(GL_POLYGON);
  1357. glNormal3fv(N056);
  1358. glVertex3fv(P056);
  1359. glNormal3fv(N065);
  1360. glVertex3fv(P065);
  1361. glNormal3fv(N006);
  1362. glVertex3fv(P006);
  1363. glEnd();
  1364. glBegin(GL_POLYGON);
  1365. glNormal3fv(N056);
  1366. glVertex3fv(P056);
  1367. glNormal3fv(N006);
  1368. glVertex3fv(P006);
  1369. glNormal3fv(N063);
  1370. glVertex3fv(P063);
  1371. glEnd();
  1372. glBegin(GL_POLYGON);
  1373. glNormal3fv(N056);
  1374. glVertex3fv(P056);
  1375. glNormal3fv(N063);
  1376. glVertex3fv(P063);
  1377. glNormal3fv(N055);
  1378. glVertex3fv(P055);
  1379. glEnd();
  1380. glBegin(GL_POLYGON);
  1381. glNormal3fv(N054);
  1382. glVertex3fv(P054);
  1383. glNormal3fv(N062);
  1384. glVertex3fv(P062);
  1385. glNormal3fv(N005);
  1386. glVertex3fv(P005);
  1387. glEnd();
  1388. glBegin(GL_POLYGON);
  1389. glNormal3fv(N054);
  1390. glVertex3fv(P054);
  1391. glNormal3fv(N005);
  1392. glVertex3fv(P005);
  1393. glNormal3fv(N053);
  1394. glVertex3fv(P053);
  1395. glEnd();
  1396. glBegin(GL_POLYGON);
  1397. glNormal3fv(N052);
  1398. glVertex3fv(P052);
  1399. glNormal3fv(N053);
  1400. glVertex3fv(P053);
  1401. glNormal3fv(N005);
  1402. glVertex3fv(P005);
  1403. glNormal3fv(N060);
  1404. glVertex3fv(P060);
  1405. glEnd();
  1406. }
  1407. void Dolphin013(void)
  1408. {
  1409. glBegin(GL_POLYGON);
  1410. glNormal3fv(N116);
  1411. glVertex3fv(P116);
  1412. glNormal3fv(N117);
  1413. glVertex3fv(P117);
  1414. glNormal3fv(N112);
  1415. glVertex3fv(P112);
  1416. glNormal3fv(N113);
  1417. glVertex3fv(P113);
  1418. glEnd();
  1419. glBegin(GL_POLYGON);
  1420. glNormal3fv(N114);
  1421. glVertex3fv(P114);
  1422. glNormal3fv(N113);
  1423. glVertex3fv(P113);
  1424. glNormal3fv(N112);
  1425. glVertex3fv(P112);
  1426. glNormal3fv(N115);
  1427. glVertex3fv(P115);
  1428. glEnd();
  1429. glBegin(GL_POLYGON);
  1430. glNormal3fv(N114);
  1431. glVertex3fv(P114);
  1432. glNormal3fv(N116);
  1433. glVertex3fv(P116);
  1434. glNormal3fv(N113);
  1435. glVertex3fv(P113);
  1436. glEnd();
  1437. glBegin(GL_POLYGON);
  1438. glNormal3fv(N114);
  1439. glVertex3fv(P114);
  1440. glNormal3fv(N007);
  1441. glVertex3fv(P007);
  1442. glNormal3fv(N116);
  1443. glVertex3fv(P116);
  1444. glEnd();
  1445. glBegin(GL_POLYGON);
  1446. glNormal3fv(N007);
  1447. glVertex3fv(P007);
  1448. glNormal3fv(N002);
  1449. glVertex3fv(P002);
  1450. glNormal3fv(N116);
  1451. glVertex3fv(P116);
  1452. glEnd();
  1453. glBegin(GL_POLYGON);
  1454. glVertex3fv(P002);
  1455. glVertex3fv(P007);
  1456. glVertex3fv(P008);
  1457. glVertex3fv(P099);
  1458. glEnd();
  1459. glBegin(GL_POLYGON);
  1460. glVertex3fv(P007);
  1461. glVertex3fv(P114);
  1462. glVertex3fv(P115);
  1463. glVertex3fv(P008);
  1464. glEnd();
  1465. glBegin(GL_POLYGON);
  1466. glNormal3fv(N117);
  1467. glVertex3fv(P117);
  1468. glNormal3fv(N099);
  1469. glVertex3fv(P099);
  1470. glNormal3fv(N008);
  1471. glVertex3fv(P008);
  1472. glEnd();
  1473. glBegin(GL_POLYGON);
  1474. glNormal3fv(N117);
  1475. glVertex3fv(P117);
  1476. glNormal3fv(N008);
  1477. glVertex3fv(P008);
  1478. glNormal3fv(N112);
  1479. glVertex3fv(P112);
  1480. glEnd();
  1481. glBegin(GL_POLYGON);
  1482. glNormal3fv(N112);
  1483. glVertex3fv(P112);
  1484. glNormal3fv(N008);
  1485. glVertex3fv(P008);
  1486. glNormal3fv(N115);
  1487. glVertex3fv(P115);
  1488. glEnd();
  1489. }
  1490. void Dolphin014(void)
  1491. {
  1492. glBegin(GL_POLYGON);
  1493. glNormal3fv(N111);
  1494. glVertex3fv(P111);
  1495. glNormal3fv(N110);
  1496. glVertex3fv(P110);
  1497. glNormal3fv(N102);
  1498. glVertex3fv(P102);
  1499. glNormal3fv(N121);
  1500. glVertex3fv(P121);
  1501. glEnd();
  1502. glBegin(GL_POLYGON);
  1503. glNormal3fv(N111);
  1504. glVertex3fv(P111);
  1505. glNormal3fv(N097);
  1506. glVertex3fv(P097);
  1507. glNormal3fv(N110);
  1508. glVertex3fv(P110);
  1509. glEnd();
  1510. glBegin(GL_POLYGON);
  1511. glNormal3fv(N097);
  1512. glVertex3fv(P097);
  1513. glNormal3fv(N119);
  1514. glVertex3fv(P119);
  1515. glNormal3fv(N110);
  1516. glVertex3fv(P110);
  1517. glEnd();
  1518. glBegin(GL_POLYGON);
  1519. glNormal3fv(N097);
  1520. glVertex3fv(P097);
  1521. glNormal3fv(N099);
  1522. glVertex3fv(P099);
  1523. glNormal3fv(N119);
  1524. glVertex3fv(P119);
  1525. glEnd();
  1526. glBegin(GL_POLYGON);
  1527. glNormal3fv(N099);
  1528. glVertex3fv(P099);
  1529. glNormal3fv(N065);
  1530. glVertex3fv(P065);
  1531. glNormal3fv(N119);
  1532. glVertex3fv(P119);
  1533. glEnd();
  1534. glBegin(GL_POLYGON);
  1535. glNormal3fv(N065);
  1536. glVertex3fv(P065);
  1537. glNormal3fv(N066);
  1538. glVertex3fv(P066);
  1539. glNormal3fv(N119);
  1540. glVertex3fv(P119);
  1541. glEnd();
  1542. glBegin(GL_POLYGON);
  1543. glVertex3fv(P098);
  1544. glVertex3fv(P097);
  1545. glVertex3fv(P111);
  1546. glVertex3fv(P121);
  1547. glEnd();
  1548. glBegin(GL_POLYGON);
  1549. glVertex3fv(P002);
  1550. glVertex3fv(P099);
  1551. glVertex3fv(P097);
  1552. glVertex3fv(P098);
  1553. glEnd();
  1554. glBegin(GL_POLYGON);
  1555. glNormal3fv(N110);
  1556. glVertex3fv(P110);
  1557. glNormal3fv(N119);
  1558. glVertex3fv(P119);
  1559. glNormal3fv(N118);
  1560. glVertex3fv(P118);
  1561. glNormal3fv(N102);
  1562. glVertex3fv(P102);
  1563. glEnd();
  1564. glBegin(GL_POLYGON);
  1565. glNormal3fv(N119);
  1566. glVertex3fv(P119);
  1567. glNormal3fv(N066);
  1568. glVertex3fv(P066);
  1569. glNormal3fv(N067);
  1570. glVertex3fv(P067);
  1571. glNormal3fv(N118);
  1572. glVertex3fv(P118);
  1573. glEnd();
  1574. glBegin(GL_POLYGON);
  1575. glNormal3fv(N067);
  1576. glVertex3fv(P067);
  1577. glNormal3fv(N060);
  1578. glVertex3fv(P060);
  1579. glNormal3fv(N002);
  1580. glVertex3fv(P002);
  1581. glEnd();
  1582. glBegin(GL_POLYGON);
  1583. glNormal3fv(N067);
  1584. glVertex3fv(P067);
  1585. glNormal3fv(N002);
  1586. glVertex3fv(P002);
  1587. glNormal3fv(N118);
  1588. glVertex3fv(P118);
  1589. glEnd();
  1590. glBegin(GL_POLYGON);
  1591. glNormal3fv(N118);
  1592. glVertex3fv(P118);
  1593. glNormal3fv(N002);
  1594. glVertex3fv(P002);
  1595. glNormal3fv(N098);
  1596. glVertex3fv(P098);
  1597. glEnd();
  1598. glBegin(GL_POLYGON);
  1599. glNormal3fv(N118);
  1600. glVertex3fv(P118);
  1601. glNormal3fv(N098);
  1602. glVertex3fv(P098);
  1603. glNormal3fv(N102);
  1604. glVertex3fv(P102);
  1605. glEnd();
  1606. glBegin(GL_POLYGON);
  1607. glNormal3fv(N102);
  1608. glVertex3fv(P102);
  1609. glNormal3fv(N098);
  1610. glVertex3fv(P098);
  1611. glNormal3fv(N121);
  1612. glVertex3fv(P121);
  1613. glEnd();
  1614. }
  1615. void Dolphin015(void)
  1616. {
  1617. glBegin(GL_POLYGON);
  1618. glNormal3fv(N055);
  1619. glVertex3fv(P055);
  1620. glNormal3fv(N003);
  1621. glVertex3fv(P003);
  1622. glNormal3fv(N054);
  1623. glVertex3fv(P054);
  1624. glEnd();
  1625. glBegin(GL_POLYGON);
  1626. glNormal3fv(N003);
  1627. glVertex3fv(P003);
  1628. glNormal3fv(N055);
  1629. glVertex3fv(P055);
  1630. glNormal3fv(N063);
  1631. glVertex3fv(P063);
  1632. glEnd();
  1633. glBegin(GL_POLYGON);
  1634. glNormal3fv(N003);
  1635. glVertex3fv(P003);
  1636. glNormal3fv(N063);
  1637. glVertex3fv(P063);
  1638. glNormal3fv(N100);
  1639. glVertex3fv(P100);
  1640. glEnd();
  1641. glBegin(GL_POLYGON);
  1642. glNormal3fv(N003);
  1643. glVertex3fv(P003);
  1644. glNormal3fv(N100);
  1645. glVertex3fv(P100);
  1646. glNormal3fv(N054);
  1647. glVertex3fv(P054);
  1648. glEnd();
  1649. glBegin(GL_POLYGON);
  1650. glNormal3fv(N054);
  1651. glVertex3fv(P054);
  1652. glNormal3fv(N100);
  1653. glVertex3fv(P100);
  1654. glNormal3fv(N062);
  1655. glVertex3fv(P062);
  1656. glEnd();
  1657. glBegin(GL_POLYGON);
  1658. glNormal3fv(N100);
  1659. glVertex3fv(P100);
  1660. glNormal3fv(N064);
  1661. glVertex3fv(P064);
  1662. glNormal3fv(N120);
  1663. glVertex3fv(P120);
  1664. glEnd();
  1665. glBegin(GL_POLYGON);
  1666. glNormal3fv(N100);
  1667. glVertex3fv(P100);
  1668. glNormal3fv(N063);
  1669. glVertex3fv(P063);
  1670. glNormal3fv(N064);
  1671. glVertex3fv(P064);
  1672. glEnd();
  1673. glBegin(GL_POLYGON);
  1674. glNormal3fv(N063);
  1675. glVertex3fv(P063);
  1676. glNormal3fv(N006);
  1677. glVertex3fv(P006);
  1678. glNormal3fv(N064);
  1679. glVertex3fv(P064);
  1680. glEnd();
  1681. glBegin(GL_POLYGON);
  1682. glNormal3fv(N064);
  1683. glVertex3fv(P064);
  1684. glNormal3fv(N006);
  1685. glVertex3fv(P006);
  1686. glNormal3fv(N099);
  1687. glVertex3fv(P099);
  1688. glEnd();
  1689. glBegin(GL_POLYGON);
  1690. glNormal3fv(N064);
  1691. glVertex3fv(P064);
  1692. glNormal3fv(N099);
  1693. glVertex3fv(P099);
  1694. glNormal3fv(N117);
  1695. glVertex3fv(P117);
  1696. glEnd();
  1697. glBegin(GL_POLYGON);
  1698. glNormal3fv(N120);
  1699. glVertex3fv(P120);
  1700. glNormal3fv(N064);
  1701. glVertex3fv(P064);
  1702. glNormal3fv(N117);
  1703. glVertex3fv(P117);
  1704. glNormal3fv(N116);
  1705. glVertex3fv(P116);
  1706. glEnd();
  1707. glBegin(GL_POLYGON);
  1708. glNormal3fv(N006);
  1709. glVertex3fv(P006);
  1710. glNormal3fv(N065);
  1711. glVertex3fv(P065);
  1712. glNormal3fv(N099);
  1713. glVertex3fv(P099);
  1714. glEnd();
  1715. glBegin(GL_POLYGON);
  1716. glNormal3fv(N062);
  1717. glVertex3fv(P062);
  1718. glNormal3fv(N100);
  1719. glVertex3fv(P100);
  1720. glNormal3fv(N120);
  1721. glVertex3fv(P120);
  1722. glEnd();
  1723. glBegin(GL_POLYGON);
  1724. glNormal3fv(N005);
  1725. glVertex3fv(P005);
  1726. glNormal3fv(N062);
  1727. glVertex3fv(P062);
  1728. glNormal3fv(N120);
  1729. glVertex3fv(P120);
  1730. glEnd();
  1731. glBegin(GL_POLYGON);
  1732. glNormal3fv(N005);
  1733. glVertex3fv(P005);
  1734. glNormal3fv(N120);
  1735. glVertex3fv(P120);
  1736. glNormal3fv(N002);
  1737. glVertex3fv(P002);
  1738. glEnd();
  1739. glBegin(GL_POLYGON);
  1740. glNormal3fv(N002);
  1741. glVertex3fv(P002);
  1742. glNormal3fv(N120);
  1743. glVertex3fv(P120);
  1744. glNormal3fv(N116);
  1745. glVertex3fv(P116);
  1746. glEnd();
  1747. glBegin(GL_POLYGON);
  1748. glNormal3fv(N060);
  1749. glVertex3fv(P060);
  1750. glNormal3fv(N005);
  1751. glVertex3fv(P005);
  1752. glNormal3fv(N002);
  1753. glVertex3fv(P002);
  1754. glEnd();
  1755. }
  1756. void Dolphin016(void)
  1757. {
  1758. glDisable(GL_DEPTH_TEST);
  1759. glBegin(GL_POLYGON);
  1760. glVertex3fv(P123);
  1761. glVertex3fv(P124);
  1762. glVertex3fv(P125);
  1763. glVertex3fv(P126);
  1764. glVertex3fv(P127);
  1765. glVertex3fv(P128);
  1766. glEnd();
  1767. glBegin(GL_POLYGON);
  1768. glVertex3fv(P129);
  1769. glVertex3fv(P130);
  1770. glVertex3fv(P131);
  1771. glVertex3fv(P132);
  1772. glVertex3fv(P133);
  1773. glVertex3fv(P134);
  1774. glEnd();
  1775. glBegin(GL_POLYGON);
  1776. glVertex3fv(P103);
  1777. glVertex3fv(P105);
  1778. glVertex3fv(P108);
  1779. glEnd();
  1780. glEnable(GL_DEPTH_TEST);
  1781. }
  1782. void DrawDolphin(fishRec *fish)
  1783. {
  1784. float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
  1785. float pitch, thrash, chomp;
  1786. fish->htail = (int)(fish->htail - (int)(10.0 * fish->v)) % 360;
  1787. thrash = 70.0 * fish->v;
  1788. seg0 = 1.0 * thrash * sin((fish->htail)*RRAD);
  1789. seg3 = 1.0 * thrash * sin((fish->htail)*RRAD);
  1790. seg1 = 2.0 * thrash * sin((fish->htail+4.0)*RRAD);
  1791. seg2 = 3.0 * thrash * sin((fish->htail+6.0)*RRAD);
  1792. seg4 = 4.0 * thrash * sin((fish->htail+10.0)*RRAD);
  1793. seg5 = 4.5 * thrash * sin((fish->htail+15.0)*RRAD);
  1794. seg6 = 5.0 * thrash * sin((fish->htail+20.0)*RRAD);
  1795. seg7 = 6.0 * thrash * sin((fish->htail+30.0)*RRAD);
  1796. pitch = fish->v * sin((fish->htail+180.0)*RRAD);
  1797. if (fish->v > 2.0) {
  1798. chomp = -(fish->v - 2.0) * 200.0;
  1799. }
  1800. chomp = 100.0;
  1801. P012[1] = iP012[1] + seg5;
  1802. P013[1] = iP013[1] + seg5;
  1803. P014[1] = iP014[1] + seg5;
  1804. P015[1] = iP015[1] + seg5;
  1805. P016[1] = iP016[1] + seg5;
  1806. P017[1] = iP017[1] + seg5;
  1807. P018[1] = iP018[1] + seg5;
  1808. P019[1] = iP019[1] + seg5;
  1809. P020[1] = iP020[1] + seg4;
  1810. P021[1] = iP021[1] + seg4;
  1811. P022[1] = iP022[1] + seg4;
  1812. P023[1] = iP023[1] + seg4;
  1813. P024[1] = iP024[1] + seg4;
  1814. P025[1] = iP025[1] + seg4;
  1815. P026[1] = iP026[1] + seg4;
  1816. P027[1] = iP027[1] + seg4;
  1817. P028[1] = iP028[1] + seg2;
  1818. P029[1] = iP029[1] + seg2;
  1819. P030[1] = iP030[1] + seg2;
  1820. P031[1] = iP031[1] + seg2;
  1821. P032[1] = iP032[1] + seg2;
  1822. P033[1] = iP033[1] + seg2;
  1823. P034[1] = iP034[1] + seg2;
  1824. P035[1] = iP035[1] + seg2;
  1825. P036[1] = iP036[1] + seg1;
  1826. P037[1] = iP037[1] + seg1;
  1827. P038[1] = iP038[1] + seg1;
  1828. P039[1] = iP039[1] + seg1;
  1829. P040[1] = iP040[1] + seg1;
  1830. P041[1] = iP041[1] + seg1;
  1831. P042[1] = iP042[1] + seg1;
  1832. P043[1] = iP043[1] + seg1;
  1833. P044[1] = iP044[1] + seg0;
  1834. P045[1] = iP045[1] + seg0;
  1835. P046[1] = iP046[1] + seg0;
  1836. P047[1] = iP047[1] + seg0;
  1837. P048[1] = iP048[1] + seg0;
  1838. P049[1] = iP049[1] + seg0;
  1839. P050[1] = iP050[1] + seg0;
  1840. P051[1] = iP051[1] + seg0;
  1841. P009[1] = iP009[1] + seg6;
  1842. P010[1] = iP010[1] + seg6;
  1843. P075[1] = iP075[1] + seg6;
  1844. P076[1] = iP076[1] + seg6;
  1845. P001[1] = iP001[1] + seg7;
  1846. P011[1] = iP011[1] + seg7;
  1847. P068[1] = iP068[1] + seg7;
  1848. P069[1] = iP069[1] + seg7;
  1849. P070[1] = iP070[1] + seg7;
  1850. P071[1] = iP071[1] + seg7;
  1851. P072[1] = iP072[1] + seg7;
  1852. P073[1] = iP073[1] + seg7;
  1853. P074[1] = iP074[1] + seg7;
  1854. P091[1] = iP091[1] + seg3;
  1855. P092[1] = iP092[1] + seg3;
  1856. P093[1] = iP093[1] + seg3;
  1857. P094[1] = iP094[1] + seg3;
  1858. P095[1] = iP095[1] + seg3;
  1859. P122[1] = iP122[1] + seg3 * 1.5;
  1860. P097[1] = iP097[1] + chomp;
  1861. P098[1] = iP098[1] + chomp;
  1862. P102[1] = iP102[1] + chomp;
  1863. P110[1] = iP110[1] + chomp;
  1864. P111[1] = iP111[1] + chomp;
  1865. P121[1] = iP121[1] + chomp;
  1866. P118[1] = iP118[1] + chomp;
  1867. P119[1] = iP119[1] + chomp;
  1868. glPushMatrix();
  1869. glRotatef(pitch, 1.0, 0.0, 0.0);
  1870. glTranslatef(0.0, 0.0, 7000.0);
  1871. glRotatef(180.0, 0.0, 1.0, 0.0);
  1872. glEnable(GL_CULL_FACE);
  1873. Dolphin014();
  1874. Dolphin010();
  1875. Dolphin009();
  1876. Dolphin012();
  1877. Dolphin013();
  1878. Dolphin006();
  1879. Dolphin002();
  1880. Dolphin001();
  1881. Dolphin003();
  1882. Dolphin015();
  1883. Dolphin004();
  1884. Dolphin005();
  1885. Dolphin007();
  1886. Dolphin008();
  1887. Dolphin011();
  1888. Dolphin016();
  1889. glDisable(GL_CULL_FACE);
  1890. glPopMatrix();
  1891. }