summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/graph_gui.cpp37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp
index 5e72271ac..09a445135 100644
--- a/src/graph_gui.cpp
+++ b/src/graph_gui.cpp
@@ -65,8 +65,6 @@ static const int64 INVALID_VALUE = 0x80000000;
static void DrawGraph(const GraphDrawer *gw)
{
-
- int i,j,k;
uint x,y,old_x,old_y;
int right;
int num_x, num_dataset;
@@ -174,22 +172,21 @@ static void DrawGraph(const GraphDrawer *gw)
if (gw->month != 0xFF) {
x = gw->left + GRAPH_X_POSITION_BEGINNING;
y = gw->top + gw->height + 1;
- j = gw->month;
- k = gw->year;
- i = gw->num_on_x_axis;assert(i>0);
- do {
- SetDParam(2, k);
- SetDParam(0, j + STR_0162_JAN);
- SetDParam(1, j + STR_0162_JAN + 2);
- DrawString(x, y, j == 0 ? STR_016F : STR_016E, GRAPH_AXIS_LABEL_COLOUR);
-
- j += 3;
- if (j >= 12) {
- j = 0;
- k++;
+ byte month = gw->month;
+ Year year = gw->year;
+ for (int i = 0; i < gw->num_on_x_axis; i++) {
+ SetDParam(0, month + STR_0162_JAN);
+ SetDParam(1, month + STR_0162_JAN + 2);
+ SetDParam(2, year);
+ DrawString(x, y, month == 0 ? STR_016F : STR_016E, GRAPH_AXIS_LABEL_COLOUR);
+
+ month += 3;
+ if (month >= 12) {
+ month = 0;
+ year++;
}
x += GRAPH_X_POSITION_SEPARATION;
- } while (--i);
+ }
} else {
/* Add 8 to make the string appear centred between the lines. */
x = gw->left + GRAPH_X_POSITION_BEGINNING + 8;
@@ -205,10 +202,10 @@ static void DrawGraph(const GraphDrawer *gw)
}
/* draw lines and dots */
- i = 0;
row_ptr = gw->cost[0];
sel = gw->sel; // show only selected lines. GraphDrawer qw->sel set in Graph-Legend (_legend_excludebits)
- do {
+
+ for (int i = 0; i < gw->num_dataset; i++) {
if (!(sel & 1)) {
/* Centre the dot between the grid lines. */
x = gw->left + GRAPH_X_POSITION_BEGINNING + (GRAPH_X_POSITION_SEPARATION / 2);
@@ -233,7 +230,9 @@ static void DrawGraph(const GraphDrawer *gw)
x += GRAPH_X_POSITION_SEPARATION;
}
}
- } while (sel>>=1,row_ptr+=24, ++i < gw->num_dataset);
+ sel >>= 1;
+ row_ptr += 24;
+ }
}
/****************/