credits.c 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. /*
  2. Copyright (C) 2005, 2010 - Cryptic Sea
  3. This file is part of Gish.
  4. Gish is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU General Public License
  6. as published by the Free Software Foundation; either version 2
  7. of the License, or (at your option) any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. See the GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this program; if not, write to the Free Software
  14. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  15. */
  16. void creditsmenu(void)
  17. {
  18. int count,count2;
  19. int secretsequence;
  20. float vec[3];
  21. secretsequence=0;
  22. resetmenuitems();
  23. while (!menuitem[0].active && !windowinfo.shutdown)
  24. {
  25. glClearColor(0.0f,0.0f,0.0f,0.0f);
  26. glClear(GL_COLOR_BUFFER_BIT);
  27. numofmenuitems=0;
  28. createmenuitem(TXT_BACK,0,0,16,1.0f,1.0f,1.0f,1.0f);
  29. setmenuitem(MO_HOTKEY,SCAN_ESC);
  30. count=sizeof(TXT_GISHUSES+1)*12+64;
  31. createmenuitem("SDL",count,400,12,1.0f,1.0f,1.0f,1.0f);
  32. createmenuitem("OpenGL",count+5*12,400,12,1.0f,1.0f,1.0f,1.0f);
  33. createmenuitem("OpenAL",count+5*12+8*12,400,12,1.0f,1.0f,1.0f,1.0f);
  34. createmenuitem("Ogg Vorbis",count+5*12+8*12+8*12,400,12,1.0f,1.0f,1.0f,1.0f);
  35. createmenuitem("Mendo Mate",64,388,12,1.0f,1.0f,1.0f,1.0f);
  36. checksystemmessages();
  37. checkkeyboard();
  38. checkmouse();
  39. checkjoystick();
  40. checkmenuitems();
  41. if (secretsequence==0)
  42. count2=SCAN_S;
  43. if (secretsequence==1)
  44. count2=SCAN_U;
  45. if (secretsequence==2)
  46. count2=SCAN_P;
  47. if (secretsequence==3)
  48. count2=SCAN_E;
  49. if (secretsequence==4)
  50. count2=SCAN_R;
  51. if (secretsequence==5)
  52. count2=SCAN_S;
  53. if (secretsequence==6)
  54. count2=SCAN_I;
  55. if (secretsequence==7)
  56. count2=SCAN_Z;
  57. if (secretsequence==8)
  58. count2=SCAN_E;
  59. if (secretsequence==9)
  60. count2=SCAN_M;
  61. if (secretsequence==10)
  62. count2=SCAN_E;
  63. if (secretsequence==11)
  64. {
  65. if (game.supersize==0)
  66. {
  67. vec[0]=0.0f;
  68. vec[1]=0.0f;
  69. vec[2]=0.0f;
  70. playsound(12,vec,NULL,0.4f,0,1.0f,-1,0);
  71. }
  72. game.supersize=1;
  73. }
  74. for (count=0;count<256;count++)
  75. if (keyboard[count] && !prevkeyboard[count])
  76. {
  77. if (count==count2)
  78. secretsequence++;
  79. else
  80. secretsequence=0;
  81. }
  82. updateogg();
  83. checkmusic();
  84. game.songnum=8;
  85. soundsimulation(view.position,view.orientation);
  86. setuptextdisplay();
  87. glColor4f(1.0f,1.0f,1.0f,1.0f);
  88. displaybackground(580);
  89. drawtext(TXT_CREDITS,(320|TEXT_CENTER),48,16,1.0f,1.0f,1.0f,1.0f);
  90. count=64;
  91. count+=12;
  92. drawtext(TXT_DESIGN,64,count,12,0.5f,0.5f,0.5f,1.0f);
  93. count+=12;
  94. drawtext("Edmund McMillen",64,count,12,1.0f,1.0f,1.0f,1.0f);
  95. count+=12;
  96. drawtext("Alex Austin",64,count,12,1.0f,1.0f,1.0f,1.0f);
  97. count+=12;
  98. drawtext("Josiah Pisciotta",64,count,12,1.0f,1.0f,1.0f,1.0f);
  99. count+=12;
  100. count+=12;
  101. drawtext(TXT_PROGRAMMING,64,count,12,0.5f,0.5f,0.5f,1.0f);
  102. count+=12;
  103. drawtext("Alex Austin",64,count,12,1.0f,1.0f,1.0f,1.0f);
  104. count+=12;
  105. drawtext("Josiah Pisciotta",64,count,12,1.0f,1.0f,1.0f,1.0f);
  106. count+=12;
  107. count+=12;
  108. drawtext(TXT_ART,64,count,12,0.5f,0.5f,0.5f,1.0f);
  109. count+=12;
  110. drawtext("Edmund McMillen",64,count,12,1.0f,1.0f,1.0f,1.0f);
  111. count+=12;
  112. count+=12;
  113. drawtext(TXT_SOUND_MUSIC,64,count,12,0.5f,0.5f,0.5f,1.0f);
  114. count+=12;
  115. drawtext("Game Audio Magic",64,count,12,1.0f,1.0f,1.0f,1.0f);
  116. count+=12;
  117. count+=12;
  118. drawtext(TXT_ADDITIONAL_DIALOG,64,count,12,0.5f,0.5f,0.5f,1.0f);
  119. count+=12;
  120. drawtext("Dave Strock",64,count,12,1.0f,1.0f,1.0f,1.0f);
  121. count+=12;
  122. count+=12;
  123. drawtext(TXT_ADDITIONAL_CONTENT,64,count,12,0.5f,0.5f,0.5f,1.0f);
  124. count+=12;
  125. drawtext("Riftmaster",64,count,12,1.0f,1.0f,1.0f,1.0f);
  126. count+=12;
  127. drawtext("Will Stamper",64,count,12,1.0f,1.0f,1.0f,1.0f);
  128. count+=12;
  129. count+=12;
  130. drawtext(TXT_THANKS,64,count,12,0.5f,0.5f,0.5f,1.0f);
  131. count+=12;
  132. drawtext("Ed thanks Danielle",64,count,12,1.0f,1.0f,1.0f,1.0f);
  133. count+=12;
  134. drawtext("Beta Testers",64,count,12,1.0f,1.0f,1.0f,1.0f);
  135. count+=12;
  136. drawtext("Roy Sawyers",64,count,12,1.0f,1.0f,1.0f,1.0f);
  137. count+=12;
  138. //drawtext("Mendo Mate",64,count,12,1.0f,1.0f,1.0f,1.0f);
  139. count+=12;
  140. drawtext(TXT_GISHUSES" , , , ",64,count,12,1.0f,1.0f,1.0f,1.0f);
  141. drawmenuitems();
  142. drawmousecursor(768+font.cursornum,mouse.x,mouse.y,16,1.0f,1.0f,1.0f,1.0f);
  143. SDL_GL_SwapBuffers();
  144. if (menuitem[1].active)
  145. {
  146. launchwebpage("www.libsdl.org");
  147. menuitem[1].active=0;
  148. }
  149. if (menuitem[2].active)
  150. {
  151. launchwebpage("www.opengl.org");
  152. menuitem[2].active=0;
  153. }
  154. if (menuitem[3].active)
  155. {
  156. launchwebpage("www.openal.org");
  157. menuitem[3].active=0;
  158. }
  159. if (menuitem[4].active)
  160. {
  161. launchwebpage("www.xiph.org");
  162. menuitem[4].active=0;
  163. }
  164. if (menuitem[5].active)
  165. {
  166. launchwebpage("www.mendomate.com");
  167. menuitem[5].active=0;
  168. }
  169. }
  170. resetmenuitems();
  171. }