home *** CD-ROM | disk | FTP | other *** search
/ Enter 2005 March / ENTER.ISO / files / fwp-0.0.6-win32-installer.exe / CreditsMenu.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2004-12-06  |  2.9 KB  |  97 lines

  1. #include "CreditsMenu.h"
  2.  
  3. #include "TextureHandler.h"
  4. #include "Display.h"
  5. #include "Renderer.h"
  6. //#include "font.h"
  7. #include "Gui.h"
  8.  
  9.  
  10. CreditsMenu::CreditsMenu():Menu("CreditsMenu"){
  11.     backgroundTexture=TextureHandler::getTexture("gui/menu/main_menu_background.jpg");
  12. }
  13. CreditsMenu::~CreditsMenu(){
  14.     if(backgroundTexture!=NULL)
  15.         TextureHandler::releaseTexture(backgroundTexture);
  16. }
  17.  
  18. bool CreditsMenu::open(){
  19.         opened=true;
  20.         mainLoop();    // waits until menu is closed again
  21.         return true;
  22. }
  23.  
  24. void CreditsMenu::handleKeyboardEvent(SDL_KeyboardEvent* event){
  25.     if(event->type==SDL_KEYUP)
  26.         close();
  27.  
  28. }
  29.  
  30. void CreditsMenu::handleMouseButtonEvent(SDL_MouseButtonEvent* event){
  31.     if(event->type==SDL_MOUSEBUTTONUP){
  32.         close();
  33.     }
  34. }
  35.  
  36. void CreditsMenu::draw(){
  37.     Renderer::beginDrawing();
  38.  
  39. //    glEnable(GL_BLEND);
  40. //    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  41.  
  42.     drawBackground();
  43.     drawCredits();
  44.  
  45.     Renderer::endDrawing();
  46. }
  47.  
  48. void CreditsMenu::drawBackground(){
  49.     glEnable(GL_TEXTURE_2D);
  50.     glBindTexture(GL_TEXTURE_2D, backgroundTexture->texName);
  51.     glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  52.  
  53. //    printf("drawb: w: %i, h: %i t:%d h: %i\n", DisplayInfo::var.width, DisplayInfo::var.height, backgroundTex->texName, height);
  54.  
  55.     glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
  56.     glBegin(GL_QUADS);
  57.         glTexCoord2f(0.0, 0.0); glVertex2i(0, 0);
  58.         glTexCoord2f(1.0, 0.0); glVertex2i(DISPLAY_VSCREEN_WIDTH, 0);
  59.         glTexCoord2f(1.0, 1.0); glVertex2i(DISPLAY_VSCREEN_WIDTH, DISPLAY_VSCREEN_HEIGHT);
  60.         glTexCoord2f(0.0, 1.0); glVertex2i(0, DISPLAY_VSCREEN_HEIGHT );
  61.     glEnd();
  62.  
  63.     glDisable(GL_TEXTURE_2D);
  64. }
  65.  
  66. void CreditsMenu::printShadowedString(int x,int y,float scale, int alignment, const char* str){
  67.     glColor4f(0.0f, 0.0f, 0.0f, 0.7f);
  68.     drawScaledAndAlignedString(x+2, y-2, scale, scale, Gui::info.var.menu_bigFont, alignment, str);
  69.     glColor4f(0.3f, 0.4f, 0.6f, 1.0f);
  70.     drawScaledAndAlignedString(x, y, scale, scale, Gui::info.var.menu_bigFont, alignment, str);
  71. }
  72.  
  73. void CreditsMenu::drawCredits(){
  74.  
  75.     printShadowedString(400,450, 1.0f, TEXT_ALIGN_CENTER, "The FWP-Team is:");
  76.  
  77.     printShadowedString(400,400, 0.8f, TEXT_ALIGN_RIGHT, "Karsten Schwenk ");
  78.     printShadowedString(400,400, 0.8f, TEXT_ALIGN_LEFT, " (Programming/Art)");
  79.  
  80.     printShadowedString(400,350, 0.8f, TEXT_ALIGN_RIGHT, "Thorsten Anthes ");
  81.     printShadowedString(400,350, 0.8f, TEXT_ALIGN_LEFT, " (Art)");
  82.  
  83.     printShadowedString(400,250, 1.0f, TEXT_ALIGN_CENTER, "Special Thanks to:");
  84.  
  85.     printShadowedString(400,200, 0.8f, TEXT_ALIGN_CENTER, "Katja, Christoph, Jens and Phillip");
  86.  
  87.     printShadowedString(400, 40, 0.8f, TEXT_ALIGN_CENTER, "http://fightwinprevail.sourceforge.net");
  88.  
  89.     if((SDL_GetTicks()/1000)%2)
  90.         glColor4f(0.1f, 0.2f, 0.3f, 0.8f);
  91.     else
  92.         glColor4f(0.2f, 0.4f, 0.7f, 1.0f);
  93.  
  94.     drawScaledAndAlignedString((int)( (400) ), (int)( (3) ), 0.5f, 0.5f, 
  95.         Gui::info.var.menu_bigFont, TEXT_ALIGN_CENTER, "press any key to close this silly menu");
  96. }
  97.