diff options
| author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2022-02-17 15:38:23 +0700 |
|---|---|---|
| committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2022-02-17 15:38:23 +0700 |
| commit | 18e53fb4b9d77a457c6a9aebc38c5dd0f1519689 (patch) | |
| tree | e5536043b1fa442021c9bd6f38890e82ceab0f99 /src/GameTick.cpp | |
| parent | 2149e0da4f91002095f34174baaf1c1118d99a52 (diff) | |
| download | blackshades-18e53fb4b9d77a457c6a9aebc38c5dd0f1519689.tar.gz | |
Move blood sprite drawing to separate function
Diffstat (limited to 'src/GameTick.cpp')
| -rw-r--r-- | src/GameTick.cpp | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/GameTick.cpp b/src/GameTick.cpp index 7ecab8e..f72a1c4 100644 --- a/src/GameTick.cpp +++ b/src/GameTick.cpp @@ -736,6 +736,23 @@ void tackle(Game* game, XYZ flatfacing) } } +void renderBloodSprite(Game* game, size_t i) +{ + auto& person = game->person[i]; + if (person.bleeding <= 0) + return; + person.bleeding -= multiplier; + person.bleeddelay -= multiplier * 10; + if (person.bleeddelay > 0) + return; + person.bleeddelay = 1.0f; + XYZ loc = (person.bjoint1->position + person.bjoint2->position) / 2.0f; + sprites.MakeSprite(bloodspritedown, 0.6f, 1.0f, 0.2f, 0.2f, + person.skeleton.free ? loc : DoRotation(loc, + 0.0f, person.playerrotation, 0.0f) + person.playercoords, + {}, person.bleeding * 3.0f); +} + void renderLaser(Game* game) { auto& player = game->person[0]; @@ -877,7 +894,6 @@ void Game::Tick() XYZ blah; int closesttarget = 0; float leastdistance = 0.0; - XYZ bleedloc; XYZ vel; float tooclose; float toofar; @@ -952,23 +968,7 @@ void Game::Tick() if(person[i].maxhealth>100)person[i].maxhealth=100; } - if(person[i].bleeding>0){ - person[i].bleeding-=multiplier; - person[i].bleeddelay-=multiplier*10; - if(person[i].bleeddelay<=0){ - person[i].bleeddelay=1; - if(person[i].skeleton.free==0){ - bleedloc=DoRotation((person[i].bjoint1->position+person[i].bjoint2->position)/2,0,person[i].playerrotation,0)+person[i].playercoords; - } - if(person[i].skeleton.free>0){ - bleedloc=(person[i].bjoint1->position+person[i].bjoint2->position)/2; - } - vel = {}; - sprites.MakeSprite(bloodspritedown, .6, 1, .2, .2,bleedloc, vel, 3*person[i].bleeding); - } - - } - + renderBloodSprite(this, i); if (!person[i].skeleton.free) { // Gun switch (person[i].type) { |
