aboutsummaryrefslogtreecommitdiff
path: root/src/GameTick.cpp
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2022-02-17 15:38:23 +0700
committerNguyễn Gia Phong <mcsinyx@disroot.org>2022-02-17 15:38:23 +0700
commit18e53fb4b9d77a457c6a9aebc38c5dd0f1519689 (patch)
treee5536043b1fa442021c9bd6f38890e82ceab0f99 /src/GameTick.cpp
parent2149e0da4f91002095f34174baaf1c1118d99a52 (diff)
downloadblackshades-18e53fb4b9d77a457c6a9aebc38c5dd0f1519689.tar.gz
Move blood sprite drawing to separate function
Diffstat (limited to 'src/GameTick.cpp')
-rw-r--r--src/GameTick.cpp36
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) {