Replace constant red hurt screen with fade out red
authorPilzAdam <PilzAdam@gmx.de>
Wed, 2 Jan 2013 20:57:04 +0000 (21:57 +0100)
committerPilzAdam <PilzAdam@gmx.de>
Wed, 2 Jan 2013 22:06:17 +0000 (23:06 +0100)
src/game.cpp

index 15bf3f09f60e759ffceac470a1b9704a50e05011..05f1da5e0b83782c149607c400adbb294fc0a83e 100644 (file)
@@ -1307,7 +1307,7 @@ void the_game(
        bool digging = false;
        bool ldown_for_dig = false;
 
-       float damage_flash_timer = 0;
+       float damage_flash = 0;
        s16 farmesh_range = 20*MAP_BLOCKSIZE;
 
        const float object_hit_delay = 0.2;
@@ -2055,10 +2055,8 @@ void the_game(
                                {
                                        //u16 damage = event.player_damage.amount;
                                        //infostream<<"Player damage: "<<damage<<std::endl;
-                                       damage_flash_timer = 0.05;
-                                       if(event.player_damage.amount >= 2){
-                                               damage_flash_timer += 0.05 * event.player_damage.amount;
-                                       }
+                                       damage_flash += 100.0;
+                                       damage_flash += 8.0 * event.player_damage.amount;
                                }
                                else if(event.type == CE_PLAYER_FORCE_MOVE)
                                {
@@ -2088,7 +2086,7 @@ void the_game(
 
                                        /* Handle visualization */
 
-                                       damage_flash_timer = 0;
+                                       damage_flash = 0;
 
                                        /*LocalPlayer* player = client.getLocalPlayer();
                                        player->setPosition(player->getPosition() + v3f(0,-BS,0));
@@ -3049,14 +3047,14 @@ void the_game(
                /*
                        Damage flash
                */
-               if(damage_flash_timer > 0.0)
+               if(damage_flash > 0.0)
                {
-                       damage_flash_timer -= dtime;
-                       
-                       video::SColor color(128,255,0,0);
+                       video::SColor color(std::min(damage_flash, 220.0f),180,0,0);
                        driver->draw2DRectangle(color,
                                        core::rect<s32>(0,0,screensize.X,screensize.Y),
                                        NULL);
+                       
+                       damage_flash -= 100.0*dtime;
                }
 
                /*