-
Notifications
You must be signed in to change notification settings - Fork 0
/
show-burn-rate
82 lines (74 loc) · 2.68 KB
/
show-burn-rate
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp
index 3287b2331..acb4b5b7d 100644
--- a/gameSource/LivingLifePage.cpp
+++ b/gameSource/LivingLifePage.cpp
@@ -6265,6 +6265,48 @@ void LivingLifePage::drawHungerMaxFillLine( doublePair inAteWordsPos,
+void drawBurnRateLine( doublePair rightEdge,
+ double length,
+ SpriteHandle *inBarSprites,
+ SpriteHandle *inDashSprites ) {
+
+
+
+ doublePair leftEdge = rightEdge;
+ leftEdge.x -= length;
+
+ doublePair dashPos = rightEdge;
+
+ dashPos.y -= 6;
+ dashPos.x -= 5;
+
+ int numDashes = 0;
+
+ JenkinsRandomSource dashRandSource( 0 );
+
+ while( dashPos.x > leftEdge.x + 9 ) {
+
+ drawSprite( inDashSprites[ numDashes %
+ NUM_HUNGER_DASHES ],
+ dashPos );
+ dashPos.x -= 15;
+ numDashes += 1;
+
+ // correct shortness of last one
+ if( numDashes % NUM_HUNGER_DASHES == 0 ) {
+ dashPos.x += 3;
+ }
+ }
+
+ // draw one more to connect to bar
+ //dashPos.x = leftEdge.x + 6;
+ //drawSprite( inDashSprites[ numDashes %
+ //NUM_HUNGER_DASHES ],
+ //dashPos );
+ }
+
+
+
static void drawLine( SpriteHandle inSegmentSprite,
doublePair inStart, doublePair inEnd,
@@ -11033,7 +11075,7 @@ void LivingLifePage::draw( doublePair inViewCenter,
for( int i=0; i<ourLiveObject->foodCapacity; i++ ) {
doublePair pos = { lastScreenViewCenter.x - 590,
- lastScreenViewCenter.y - 334 };
+ lastScreenViewCenter.y - 336 };
pos.x += i * 30;
drawSprite(
@@ -11242,6 +11284,19 @@ void LivingLifePage::draw( doublePair inViewCenter,
toggleMultiplicativeBlend( false );
}
+ doublePair burnPos = { lastScreenViewCenter.x - 610,
+ lastScreenViewCenter.y - 319 };
+
+ burnPos.x += ourLiveObject->foodStore * 30;
+ toggleMultiplicativeBlend( true );
+ setDrawColor( 1, 1, 1, 1 );
+
+ drawBurnRateLine( burnPos,
+ 30.0 * (60.0 / ourLiveObject->foodDrainTime),
+ mHungerBarSprites,
+ mHungerDashSprites );
+
+ toggleMultiplicativeBlend( false );
doublePair tipPos = { lastScreenViewCenter.x,
lastScreenViewCenter.y - 313 };