1 #include "infobar.h"
2
Infobar()3 Infobar::Infobar()
4 {
5 statsBuffer = Statsbuffer::Instance();
6 energy = settings->getCVarPtr("energy");
7
8 active = true;
9 isMovable = true;
10
11 position.x = 10;
12 position.y = 10;
13
14 v_width = 400;
15 v_height = 20;
16
17 hsp = 10;
18 vsp = 13;
19 }
20
draw()21 void Infobar::draw()
22 {
23 if (active)
24 {
25 fps.mark();
26
27 drawBackground();
28 drawBorders();
29
30 float col1 = (v_width/3);
31 float col2 = col1 * 2.0f;
32 float col3 = col1 * 3.0f;
33 // float col4 = col1 * 4.0f;
34
35 float linespacer = 0.0f;
36 glBegin(GL_LINES);
37 // glVertex2f(0.0f, v_height);
38 // glVertex2f(v_width, v_height);
39
40 glVertex2f(position.x+col1, position.y+linespacer);
41 glVertex2f(position.x+col1, position.y+v_height - linespacer);
42 glVertex2f(position.x+col2, position.y+linespacer);
43 glVertex2f(position.x+col2, position.y+v_height - linespacer);
44 /* glVertex2f(position.x+col3, position.y+linespacer);
45 glVertex2f(position.x+col3, position.y+v_height - linespacer);*/
46 glEnd();
47
48
49 glColor3f(1.0f, 1.0f, 1.0f);
50 // glEnable(GL_TEXTURE_2D);
51
52 // Row 1
53 Textprinter::Instance()->print(position.x+hsp, position.y+vsp, "fps:");
54 Textprinter::Instance()->printR(position.x+col1-hsp, position.y+vsp, "%1.1f", fps.currentfps);
55
56 Textprinter::Instance()->print(position.x+col1+hsp, position.y+vsp, "critters:");
57 // Textprinter::Instance()->printR(position.x+col2-hsp, position.y+vsp, "%1u", settings->info_critters);
58 Textprinter::Instance()->printR(position.x+col2-hsp, position.y+vsp, "%1u", statsBuffer->current.critters);
59
60 Textprinter::Instance()->print(position.x+col2+hsp, position.y+vsp, "food:");
61 // Textprinter::Instance()->printR(position.x+col3-hsp, position.y+vsp, "%1u/%1u", settings->info_food, settings->getCVar("energy"));
62 Textprinter::Instance()->printR(position.x+col3-hsp, position.y+vsp, "%1u/%1u", statsBuffer->current.food, *energy);
63
64 // Textprinter::Instance()->print(col3+hsp, vsp, "corpses:");
65 // Textprinter::Instance()->printR(col4-hsp, vsp, "%1u", Settings::Instance()->info_corpses);
66
67 // Row 2
68 // Textprinter::Instance()->print(hsp, vsp*2, "neu/cri:");
69 // Textprinter::Instance()->printR(col1-hsp, vsp*2, "%1.2f", (float)totalneurons / Settings::Instance()->info_critters);
70 //
71 // Textprinter::Instance()->print(col1+hsp, vsp*2, "syn/cri:");
72 // Textprinter::Instance()->printR(col2-hsp, vsp*2, "%1.2f", (float)totalsynapses / Settings::Instance()->info_critters);
73 //
74 // Textprinter::Instance()->print(col2+hsp, vsp*2, "syn/neu:");
75 // Textprinter::Instance()->printR(col3-hsp, vsp*2, "%1.2f", (float)totalsynapses / totalneurons);
76 //
77 // Textprinter::Instance()->print(col3+hsp, vsp*2, "bullets:");
78 // Textprinter::Instance()->printR(col4-hsp, vsp*2, "%1u", Settings::Instance()->info_bullets);
79
80
81 // glDisable(GL_TEXTURE_2D);
82 }
83 }
84
~Infobar()85 Infobar::~Infobar()
86 {
87 }
88