Tool progress bar tweaking
authorKahrl <kahrl@gmx.net>
Thu, 12 Jan 2012 07:47:17 +0000 (08:47 +0100)
committerKahrl <kahrl@gmx.net>
Thu, 12 Jan 2012 07:47:17 +0000 (08:47 +0100)
src/guiInventoryMenu.cpp

index 9b2aed3774256f421153961dfe03dde5d60a4f6f..f2a644e80abcf2964a95a6a02cf44349ca8b6956 100644 (file)
@@ -68,7 +68,7 @@ void drawItemStack(video::IVideoDriver *driver,
 
                // Shrink progressrect by amount of tool damage
                float wear = item.wear / 65535.0;
-               progressrect.LowerRightCorner.X =
+               int progressmid =
                        wear * progressrect.UpperLeftCorner.X +
                        (1-wear) * progressrect.LowerRightCorner.X;
 
@@ -77,14 +77,21 @@ void drawItemStack(video::IVideoDriver *driver,
                //   wear = 0.5: yellow
                //   wear = 1.0: red
                video::SColor color(255,255,255,255);
-               int wear_i = floor(wear * 511);
+               int wear_i = MYMIN(floor(wear * 600), 511);
                wear_i = MYMIN(wear_i + 10, 511);
                if(wear_i <= 255)
                        color.set(255, wear_i, 255, 0);
                else
                        color.set(255, 255, 511-wear_i, 0);
 
-               driver->draw2DRectangle(color, progressrect, clip);
+               core::rect<s32> progressrect2 = progressrect;
+               progressrect2.LowerRightCorner.X = progressmid;
+               driver->draw2DRectangle(color, progressrect2, clip);
+
+               color = video::SColor(255,0,0,0);
+               progressrect2 = progressrect;
+               progressrect2.UpperLeftCorner.X = progressmid;
+               driver->draw2DRectangle(color, progressrect2, clip);
        }
 
        if(font != NULL && item.count >= 2)