]> git.jsancho.org Git - lugaru.git/commitdiff
merge
authorCôme BERNIGAUD <come.bernigaud@gmail.com>
Mon, 24 May 2010 19:37:39 +0000 (21:37 +0200)
committerCôme BERNIGAUD <come.bernigaud@gmail.com>
Mon, 24 May 2010 19:37:39 +0000 (21:37 +0200)
Data/config.txt
Source/GameDraw.cpp
Source/GameTick.cpp
Source/Globals.cpp
Source/OpenGL_Windows.cpp
Source/Settings.cpp
Source/Settings.h

index 203c615fadae7c3efd01178c31f47811010558a5..4759143d8bb572d42c3d782d6b9f53148caaba8c 100644 (file)
@@ -70,6 +70,8 @@ Attack key:
 mouse1
 Chat key:
 unknown
+Damage bar:
+1
 StereoMode:
 0
 StereoSeparation:
index 0e153a9420bfd6c07be9c524e868c9dc27d6623f..c3b087de033646d6b605735ed70ef03bb254fe71 100644 (file)
@@ -175,6 +175,8 @@ extern float accountcampaigntime[10];
 
 extern bool gamestarted;
 
+extern bool showdamagebar;
+
 extern OPENAL_SAMPLE   *samp[100];
 extern int channels[100];
 extern "C"     void PlaySoundEx(int channel, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused);
@@ -1241,6 +1243,90 @@ int Game::DrawGLScene(StereoSide side)
                                        text.glPrintOutline(1024/40-4,768/16-4+768*14/16,string,1,1.5*1.25,1024,768);
                                        glColor4f(1,0,0,1);
                                        text.glPrint(1024/40,768/16+768*14/16,string,1,1.5,1024,768);
+                                       if(showdamagebar) {
+                                               glDisable(GL_DEPTH_TEST);                                                       // Disables Depth Testing
+                                               glDisable(GL_CULL_FACE);
+                                               glDisable(GL_LIGHTING);
+                                               glDisable(GL_TEXTURE_2D);
+                                               glDepthMask(0);
+                                               glMatrixMode(GL_PROJECTION);                                            // Select The Projection Matrix
+                                               glPushMatrix();                                                                         // Store The Projection Matrix
+                                               glLoadIdentity();                                                                       // Reset The Projection Matrix
+                                               glOrtho(0,screenwidth,0,screenheight,-100,100);         // Set Up An Ortho Screen
+                                               glMatrixMode(GL_MODELVIEW);                                                     // Select The Modelview Matrix
+                                               glPushMatrix();                                                                         // Store The Modelview Matrix
+                                               glLoadIdentity();                                                                       // Reset The Modelview Matrix
+                                               glTranslatef(15,screenheight*17.5/20,0);
+                                               glScalef(screenwidth/3+20,screenheight/20,1);
+                                               glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
+                                               glEnable(GL_BLEND);
+                                               glColor4f(0.0,0.4,0.0,0.7);
+                                               float bar=((float)player[0].damage)/player[0].damagetolerance;
+                                               glBegin(GL_QUADS);
+                                               glVertex3f((bar<1?bar:1),0,0.0f);
+                                               glVertex3f(1,0,0.0f);
+                                               glVertex3f(1,1,0.0f);
+                                               glVertex3f((bar<1?bar:1),1,0.0f);
+                                               glEnd();
+                                               glColor4f(0.1,0.0,0.0,1);
+                                               bar = ((float)player[0].bloodloss)/player[0].damagetolerance;
+                                               glBegin(GL_QUADS);
+                                               glVertex3f(0,0,0.0f);
+                                               glVertex3f((bar<1?bar:1),0,0.0f);
+                                               glVertex3f((bar<1?bar:1),1,0.0f);
+                                               glVertex3f(0,1,0.0f);
+                                               glEnd();
+                                               glColor4f(0.4,0.0,0.0,0.7);
+                                               bar = ((float)player[0].damage)/player[0].damagetolerance;
+                                               glBegin(GL_QUADS);
+                                               glVertex3f(0,0,0.0f);
+                                               glVertex3f((bar<1?bar:1),0,0.0f);
+                                               glVertex3f((bar<1?bar:1),1,0.0f);
+                                               glVertex3f(0,1,0.0f);
+                                               glEnd();
+                                               glColor4f(0.4,0.0,0.0,0.7);
+                                               bar = ((float)player[0].permanentdamage)/player[0].damagetolerance;
+                                               glBegin(GL_QUADS);
+                                               glVertex3f(0,0,0.0f);
+                                               glVertex3f((bar<1?bar:1),0,0.0f);
+                                               glVertex3f((bar<1?bar:1),1,0.0f);
+                                               glVertex3f(0,1,0.0f);
+                                               glEnd();
+                                               glColor4f(0.4,0.0,0.0,0.7);
+                                               bar = ((float)player[0].superpermanentdamage)/player[0].damagetolerance;
+                                               glBegin(GL_QUADS);
+                                               glVertex3f(0,0,0.0f);
+                                               glVertex3f((bar<1?bar:1),0,0.0f);
+                                               glVertex3f((bar<1?bar:1),1,0.0f);
+                                               glVertex3f(0,1,0.0f);
+                                               glEnd();
+                                               glColor4f(0.0,0.0,0.0,0.7);
+                                               glLineWidth(2.0);
+                                               glBegin(GL_LINE_STRIP);
+                                               glVertex3f(0,0,0.0f);
+                                               glVertex3f(1,0,0.0f);
+                                               glVertex3f(1,1,0.0f);
+                                               glVertex3f(0,1,0.0f);
+                                               glVertex3f(0,0,0.0f);
+                                               glEnd();
+                                               
+                                               glMatrixMode(GL_PROJECTION);                                            // Select The Projection Matrix
+                                               glPopMatrix();                                                                          // Restore The Old Projection Matrix
+                                               glMatrixMode(GL_MODELVIEW);                                                     // Select The Modelview Matrix
+                                               glPopMatrix();                                                                          // Restore The Old Projection Matrix
+                                               glEnable(GL_DEPTH_TEST);                                                        // Enables Depth Testing
+                                               glEnable(GL_CULL_FACE);
+                                               glDisable(GL_BLEND);
+                                               glDepthMask(1);
+                                               glEnable(GL_TEXTURE_2D);
+                                               
+                                               // writing the numbers : 
+                                               sprintf (string, "Damages : %d/%d (%d)",(int)(player[0].damage),(int)(player[0].damagetolerance),(int)(player[0].bloodloss));
+                                               glColor4f(0,0,0,1);
+                                               text.glPrintOutline(1024/40-4,768/16-4+768*14/16-40,string,1,1.5*1.25,1024,768);
+                                               glColor4f(1,0,0,1);
+                                               text.glPrint(1024/40,768/16+768*14/16-40,string,1,1.5,1024,768);
+                                       }
                                }
 
                                glColor4f(.5,.5,.5,1);
index 5c8b4acd77ef67faaadbdaee4fe991ef27b0d20b..00bcdc400cc1d9c6f288cf00091cbc95f8fbcf09 100644 (file)
@@ -101,6 +101,7 @@ extern bool foliage;
 extern bool trilinear;
 extern bool damageeffects;
 extern bool showpoints;
+extern bool showdamagebar; // (des)activate the damage bar
 extern bool texttoggle;
 extern bool alwaysblur;
 extern float gamespeed;
index 01d883915679b2c3cd23bee90779b715367bbde7..eae0bd07f0590fbda565f78b41bd0c97c2a3068e 100644 (file)
@@ -120,6 +120,7 @@ char mapname[256] = {0};
 bool loadingstuff = 0;
 bool stillloading = 0;
 bool showpoints = 0;
+bool showdamagebar = 0;
 bool alwaysblur = 0;
 bool immediate = 0;
 bool velocityblur = 0;
index 5759ddc15fa40d270e876cca271091b7f05df98f..b68c60bcfd37bc3d4e03960d401d03430aa5ddea 100644 (file)
@@ -572,7 +572,6 @@ Boolean SetUp (Game & game)
                fprintf(stderr, "Failed to load config, creating default\n");
                SaveSettings(game);
        }
-       
        if(kBitsPerPixel!=32&&kBitsPerPixel!=16){
                kBitsPerPixel=16;
        }
index 754c2ac4e316ec2c0a995dcebfd741227ba3009d..b2c761ddbe312dbe1fabc825ab2d19b100ac8aa4 100644 (file)
@@ -23,6 +23,7 @@ void DefaultSettings(Game &game) {
        texttoggle=1;
        alwaysblur=0;
        showpoints=0;
+       showdamagebar=0;
        immediate=0;
        velocityblur=0;
        volume = 0.8f;
@@ -117,13 +118,14 @@ void SaveSettings(Game &game) {
        opstream << KeyToChar(game.attackkey);
        opstream << "\nChat key:\n";
        opstream << KeyToChar(game.chatkey);
+       opstream << "\nDamage bar:\n";
+       opstream << showdamagebar;
        opstream << "\nStereoMode:\n";
        opstream << stereomode;
        opstream << "\nStereoSeparation:\n";
        opstream << stereoseparation;
        opstream << "\nStereoReverse:\n";
        opstream << stereoreverse;
-       
        opstream.close();
 }
 
@@ -240,6 +242,8 @@ bool LoadSettings(Game &game) {
                } else if ( !strncmp(setting, "Chat key", 8) ) {
                        ipstream >> string;
                        game.chatkey = CharToKey(string);
+               } else if ( !strncmp(setting, "Damage bar", 10) ) {
+                       ipstream >> showdamagebar;
                } else if ( !strncmp(setting, "StereoMode", 10) ) {
                        int i;
                        ipstream >> i;
index 88b23e75958bfb37b41c8ee4dcec87d12f51bc51..bae99106a56940d1b5cf3cb60c148e1819a77315 100644 (file)
@@ -23,6 +23,7 @@ extern bool texttoggle;
 extern bool debugmode;
 extern bool vblsync;
 extern bool showpoints;
+extern bool showdamagebar;
 extern bool alwaysblur;
 extern bool immediate;
 extern bool velocityblur;