Mercurial > hg > openttd
annotate src/graph_gui.cpp @ 8114:2d6af5d7a142 draft
(svn r11675) -Codechange: split the string types from the string functions.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Fri, 21 Dec 2007 19:49:27 +0000 |
parents | f65cf2bc3255 |
children | 9cc845deddfe |
rev | line source |
---|---|
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1 /* $Id$ */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
2 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
3 /** @file graph_gui.cpp */ |
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
4 |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
5 #include "stdafx.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
6 #include "openttd.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
7 #include "table/strings.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
8 #include "table/sprites.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
9 #include "functions.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
10 #include "gui.h" |
8107
f65cf2bc3255
(svn r11668) -Codechange: more refactoring aimed at reducing compile time and making it more logic where function definitions can be found.
rubidium <rubidium@openttd.org>
parents:
8106
diff
changeset
|
11 #include "window_gui.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
12 #include "gfx.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
13 #include "player.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
14 #include "economy.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
15 #include "variables.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
16 #include "date.h" |
5587
c44c070c5032
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents:
5584
diff
changeset
|
17 #include "helpers.hpp" |
6091
17ebeb5a2c37
(svn r8826) -Codechange: Replace _cargoc's separate arrays with a regular struct array (with accessor) and implement new initialization method using cargo labels.
peter1138 <peter1138@openttd.org>
parents:
5946
diff
changeset
|
18 #include "cargotype.h" |
8114
2d6af5d7a142
(svn r11675) -Codechange: split the string types from the string functions.
rubidium <rubidium@openttd.org>
parents:
8107
diff
changeset
|
19 #include "strings_func.h" |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
20 |
5806
4f5e2ea123e8
(svn r8368) -Cleanup: [Graphs] Rename the variables relating to whether datasets should be drawn, and use HASBIT for testing against them.
maedhros <maedhros@openttd.org>
parents:
5805
diff
changeset
|
21 /* Bitmasks of player and cargo indices that shouldn't be drawn. */ |
4f5e2ea123e8
(svn r8368) -Cleanup: [Graphs] Rename the variables relating to whether datasets should be drawn, and use HASBIT for testing against them.
maedhros <maedhros@openttd.org>
parents:
5805
diff
changeset
|
22 static uint _legend_excluded_players; |
4f5e2ea123e8
(svn r8368) -Cleanup: [Graphs] Rename the variables relating to whether datasets should be drawn, and use HASBIT for testing against them.
maedhros <maedhros@openttd.org>
parents:
5805
diff
changeset
|
23 static uint _legend_excluded_cargo; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
24 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
25 /************************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
26 /* GENERIC GRAPH DRAWER */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
27 /************************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
28 |
5768
cb58a39476fd
(svn r8319) -Codechange: Remove the remaining colours from GraphDrawer as they're also the same everywhere.
maedhros <maedhros@openttd.org>
parents:
5766
diff
changeset
|
29 enum { |
6463
0315af802158
(svn r9638) -Feature: Increase cargo types from 12 to 32 and enable newcargo flag in NewGRF loader.
peter1138 <peter1138@openttd.org>
parents:
6372
diff
changeset
|
30 GRAPH_MAX_DATASETS = 32, |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
31 GRAPH_AXIS_LABEL_COLOUR = TC_BLACK, |
5768
cb58a39476fd
(svn r8319) -Codechange: Remove the remaining colours from GraphDrawer as they're also the same everywhere.
maedhros <maedhros@openttd.org>
parents:
5766
diff
changeset
|
32 GRAPH_AXIS_LINE_COLOUR = 215, |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
33 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
34 GRAPH_X_POSITION_BEGINNING = 44, ///< Start the graph 44 pixels from gw->left |
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
35 GRAPH_X_POSITION_SEPARATION = 22, ///< There are 22 pixels between each X value |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
36 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
37 GRAPH_NUM_LINES_Y = 9, ///< How many horizontal lines to draw. |
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
38 /* 9 is convenient as that means the distance between them is the height of the graph / 8, |
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
39 * which is the same |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
40 * as height >> 3. */ |
5768
cb58a39476fd
(svn r8319) -Codechange: Remove the remaining colours from GraphDrawer as they're also the same everywhere.
maedhros <maedhros@openttd.org>
parents:
5766
diff
changeset
|
41 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
42 |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
43 /* Apparently these don't play well with enums. */ |
7763
b66a3cb83e69
(svn r11312) -Codechange: implement a overflow safe integer and use that for money and don't misuses CommandCost to have a overflow safe integer. Based on a patch by Noldo.
rubidium <rubidium@openttd.org>
parents:
7520
diff
changeset
|
44 static const OverflowSafeInt64 INVALID_DATAPOINT = INT64_MAX; // Value used for a datapoint that shouldn't be drawn. |
b66a3cb83e69
(svn r11312) -Codechange: implement a overflow safe integer and use that for money and don't misuses CommandCost to have a overflow safe integer. Based on a patch by Noldo.
rubidium <rubidium@openttd.org>
parents:
7520
diff
changeset
|
45 static const uint INVALID_DATAPOINT_POS = UINT_MAX; // Used to determine if the previous point was drawn. |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
46 |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
47 struct GraphDrawer { |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
48 uint excluded_data; ///< bitmask of the datasets that shouldn't be displayed. |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
49 byte num_dataset; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
50 byte num_on_x_axis; |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
51 bool has_negative_values; |
5771
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
52 byte num_vert_lines; |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
53 |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
54 /* The starting month and year that values are plotted against. If month is |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
55 * 0xFF, use x_values_start and x_values_increment below instead. */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
56 byte month; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
57 Year year; |
5771
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
58 |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
59 /* These values are used if the graph is being plotted against values |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
60 * rather than the dates specified by month and year. */ |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
61 uint16 x_values_start; |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
62 uint16 x_values_increment; |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
63 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
64 int left, top; ///< Where to start drawing the graph, in pixels. |
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
65 uint height; ///< The height of the graph in pixels. |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
66 StringID format_str_y_axis; |
5768
cb58a39476fd
(svn r8319) -Codechange: Remove the remaining colours from GraphDrawer as they're also the same everywhere.
maedhros <maedhros@openttd.org>
parents:
5766
diff
changeset
|
67 byte colors[GRAPH_MAX_DATASETS]; |
8000
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
68 OverflowSafeInt64 cost[GRAPH_MAX_DATASETS][24]; ///< last 2 years |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6247
diff
changeset
|
69 }; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
70 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
71 static void DrawGraph(const GraphDrawer *gw) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
72 { |
7763
b66a3cb83e69
(svn r11312) -Codechange: implement a overflow safe integer and use that for money and don't misuses CommandCost to have a overflow safe integer. Based on a patch by Noldo.
rubidium <rubidium@openttd.org>
parents:
7520
diff
changeset
|
73 uint x, y; ///< Reused whenever x and y coordinates are needed. |
b66a3cb83e69
(svn r11312) -Codechange: implement a overflow safe integer and use that for money and don't misuses CommandCost to have a overflow safe integer. Based on a patch by Noldo.
rubidium <rubidium@openttd.org>
parents:
7520
diff
changeset
|
74 OverflowSafeInt64 highest_value; ///< Highest value to be drawn. |
b66a3cb83e69
(svn r11312) -Codechange: implement a overflow safe integer and use that for money and don't misuses CommandCost to have a overflow safe integer. Based on a patch by Noldo.
rubidium <rubidium@openttd.org>
parents:
7520
diff
changeset
|
75 int x_axis_offset; ///< Distance from the top of the graph to the x axis. |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
76 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
77 /* the colors and cost array of GraphDrawer must accomodate |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
78 * both values for cargo and players. So if any are higher, quit */ |
5768
cb58a39476fd
(svn r8319) -Codechange: Remove the remaining colours from GraphDrawer as they're also the same everywhere.
maedhros <maedhros@openttd.org>
parents:
5766
diff
changeset
|
79 assert(GRAPH_MAX_DATASETS >= (int)NUM_CARGO && GRAPH_MAX_DATASETS >= (int)MAX_PLAYERS); |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
80 assert(gw->num_vert_lines > 0); |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
81 |
5766
9c7c1e291514
(svn r8317) -Codechange: Remove GraphDrawer::bg_line_color since it was the same everywhere it was set.
maedhros <maedhros@openttd.org>
parents:
5761
diff
changeset
|
82 byte grid_colour = _colour_gradient[14][4]; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
83 |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
84 /* The coordinates of the opposite edges of the graph. */ |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
85 int bottom = gw->top + gw->height - 1; |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
86 int right = gw->left + GRAPH_X_POSITION_BEGINNING + gw->num_vert_lines * GRAPH_X_POSITION_SEPARATION - 1; |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
87 |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
88 /* Draw the vertical grid lines. */ |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
89 |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
90 /* Don't draw the first line, as that's where the axis will be. */ |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
91 x = gw->left + GRAPH_X_POSITION_BEGINNING + GRAPH_X_POSITION_SEPARATION; |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
92 |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
93 for (int i = 0; i < gw->num_vert_lines; i++) { |
5766
9c7c1e291514
(svn r8317) -Codechange: Remove GraphDrawer::bg_line_color since it was the same everywhere it was set.
maedhros <maedhros@openttd.org>
parents:
5761
diff
changeset
|
94 GfxFillRect(x, gw->top, x, bottom, grid_colour); |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
95 x += GRAPH_X_POSITION_SEPARATION; |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
96 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
97 |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
98 /* Draw the horizontal grid lines. */ |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
99 x = gw->left + GRAPH_X_POSITION_BEGINNING; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
100 y = gw->height + gw->top; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
101 |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
102 for (int i = 0; i < GRAPH_NUM_LINES_Y; i++) { |
5766
9c7c1e291514
(svn r8317) -Codechange: Remove GraphDrawer::bg_line_color since it was the same everywhere it was set.
maedhros <maedhros@openttd.org>
parents:
5761
diff
changeset
|
103 GfxFillRect(x, y, right, y, grid_colour); |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
104 y -= (gw->height / (GRAPH_NUM_LINES_Y - 1)); |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
105 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
106 |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
107 /* Draw the y axis. */ |
5768
cb58a39476fd
(svn r8319) -Codechange: Remove the remaining colours from GraphDrawer as they're also the same everywhere.
maedhros <maedhros@openttd.org>
parents:
5766
diff
changeset
|
108 GfxFillRect(x, gw->top, x, bottom, GRAPH_AXIS_LINE_COLOUR); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
109 |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
110 /* Find the distance from the top of the graph to the x axis. */ |
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
111 x_axis_offset = gw->height; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
112 |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
113 /* The graph is currently symmetrical about the x axis. */ |
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
114 if (gw->has_negative_values) x_axis_offset /= 2; |
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
115 |
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
116 /* Draw the x axis. */ |
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
117 y = x_axis_offset + gw->top; |
5768
cb58a39476fd
(svn r8319) -Codechange: Remove the remaining colours from GraphDrawer as they're also the same everywhere.
maedhros <maedhros@openttd.org>
parents:
5766
diff
changeset
|
118 GfxFillRect(x, y, right, y, GRAPH_AXIS_LINE_COLOUR); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
119 |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
120 /* Find the largest value that will be drawn. */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
121 if (gw->num_on_x_axis == 0) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
122 return; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
123 |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
124 assert(gw->num_on_x_axis > 0); |
5778
f4886921514f
(svn r8330) -Codechange: Remove num_x and num_dataset from DrawGraph.
maedhros <maedhros@openttd.org>
parents:
5777
diff
changeset
|
125 assert(gw->num_dataset > 0); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
126 |
5804
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
127 /* Start of with a value of twice the height of the graph in pixels. It's a |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
128 * bit arbitrary, but it makes the cargo payment graph look a little nicer, |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
129 * and prevents division by zero when calculating where the datapoint |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
130 * should be drawn. */ |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
131 highest_value = x_axis_offset * 2; |
5796
54b69ef4b352
(svn r8356) -Codechange: [Graphs] Rename mx to highest_value, and fix the scaling for negative values.
maedhros <maedhros@openttd.org>
parents:
5793
diff
changeset
|
132 |
5778
f4886921514f
(svn r8330) -Codechange: Remove num_x and num_dataset from DrawGraph.
maedhros <maedhros@openttd.org>
parents:
5777
diff
changeset
|
133 for (int i = 0; i < gw->num_dataset; i++) { |
7928
4e8dfd103163
(svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style
skidd13 <skidd13@openttd.org>
parents:
7923
diff
changeset
|
134 if (!HasBit(gw->excluded_data, i)) { |
5791
4fd992bac142
(svn r8347) -Codechange: [Graphs] Make some more variables local to the loops they're used in, and remove some assumptions about the size of an array.
maedhros <maedhros@openttd.org>
parents:
5778
diff
changeset
|
135 for (int j = 0; j < gw->num_on_x_axis; j++) { |
8000
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
136 OverflowSafeInt64 datapoint = gw->cost[i][j]; |
5791
4fd992bac142
(svn r8347) -Codechange: [Graphs] Make some more variables local to the loops they're used in, and remove some assumptions about the size of an array.
maedhros <maedhros@openttd.org>
parents:
5778
diff
changeset
|
137 |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
138 if (datapoint != INVALID_DATAPOINT) { |
5796
54b69ef4b352
(svn r8356) -Codechange: [Graphs] Rename mx to highest_value, and fix the scaling for negative values.
maedhros <maedhros@openttd.org>
parents:
5793
diff
changeset
|
139 /* For now, if the graph has negative values the scaling is |
54b69ef4b352
(svn r8356) -Codechange: [Graphs] Rename mx to highest_value, and fix the scaling for negative values.
maedhros <maedhros@openttd.org>
parents:
5793
diff
changeset
|
140 * symmetrical about the x axis, so take the absolute value |
54b69ef4b352
(svn r8356) -Codechange: [Graphs] Rename mx to highest_value, and fix the scaling for negative values.
maedhros <maedhros@openttd.org>
parents:
5793
diff
changeset
|
141 * of each data point. */ |
7923
504d4b2ecc6c
(svn r11476) -Codechange: rename the function myabs to abs to get rid of an unneeded define
skidd13 <skidd13@openttd.org>
parents:
7922
diff
changeset
|
142 highest_value = max(highest_value, abs(datapoint)); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
143 } |
5778
f4886921514f
(svn r8330) -Codechange: Remove num_x and num_dataset from DrawGraph.
maedhros <maedhros@openttd.org>
parents:
5777
diff
changeset
|
144 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
145 } |
5778
f4886921514f
(svn r8330) -Codechange: Remove num_x and num_dataset from DrawGraph.
maedhros <maedhros@openttd.org>
parents:
5777
diff
changeset
|
146 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
147 |
5804
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
148 /* Round up highest_value so that it will divide cleanly into the number of |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
149 * axis labels used. */ |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
150 int round_val = highest_value % (GRAPH_NUM_LINES_Y - 1); |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
151 if (round_val != 0) highest_value += (GRAPH_NUM_LINES_Y - 1 - round_val); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
152 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
153 /* draw text strings on the y axis */ |
5804
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
154 int64 y_label = highest_value; |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
155 int64 y_label_separation = highest_value / (GRAPH_NUM_LINES_Y - 1); |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
156 |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
157 /* If there are negative values, the graph goes from highest_value to |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
158 * -highest_value, not highest_value to 0. */ |
5807
1fc48d5f47d5
(svn r8369) -Cleanup: [Graphs] Rename include_neg and adj_height to more descriptive names, and add some more comments.
maedhros <maedhros@openttd.org>
parents:
5806
diff
changeset
|
159 if (gw->has_negative_values) y_label_separation *= 2; |
5804
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
160 |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
161 x = gw->left + GRAPH_X_POSITION_BEGINNING + 1; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
162 y = gw->top - 3; |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
163 |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
164 for (int i = 0; i < GRAPH_NUM_LINES_Y; i++) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
165 SetDParam(0, gw->format_str_y_axis); |
7002
fa75522e0249
(svn r10258) -Codechange: as we are now using int64 all over the place, it's better to use int64 variables in the string generating too instead of packing them into two int32s.
rubidium <rubidium@openttd.org>
parents:
6991
diff
changeset
|
166 SetDParam(1, y_label); |
5768
cb58a39476fd
(svn r8319) -Codechange: Remove the remaining colours from GraphDrawer as they're also the same everywhere.
maedhros <maedhros@openttd.org>
parents:
5766
diff
changeset
|
167 DrawStringRightAligned(x, y, STR_0170, GRAPH_AXIS_LABEL_COLOUR); |
5804
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
168 |
07c4b670fcda
(svn r8366) -Codechange: [Graphs] Make the scaling code less cryptic, and fix two longstanding bugs.
maedhros <maedhros@openttd.org>
parents:
5796
diff
changeset
|
169 y_label -= y_label_separation; |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
170 y += (gw->height / (GRAPH_NUM_LINES_Y - 1)); |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
171 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
172 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
173 /* draw strings on the x axis */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
174 if (gw->month != 0xFF) { |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
175 x = gw->left + GRAPH_X_POSITION_BEGINNING; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
176 y = gw->top + gw->height + 1; |
5777
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
177 byte month = gw->month; |
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
178 Year year = gw->year; |
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
179 for (int i = 0; i < gw->num_on_x_axis; i++) { |
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
180 SetDParam(0, month + STR_0162_JAN); |
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
181 SetDParam(1, month + STR_0162_JAN + 2); |
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
182 SetDParam(2, year); |
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
183 DrawString(x, y, month == 0 ? STR_016F : STR_016E, GRAPH_AXIS_LABEL_COLOUR); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
184 |
5777
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
185 month += 3; |
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
186 if (month >= 12) { |
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
187 month = 0; |
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
188 year++; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
189 } |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
190 x += GRAPH_X_POSITION_SEPARATION; |
5777
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
191 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
192 } else { |
5793
50846c721bda
(svn r8350) -Codechange: [Graphs] Use DrawStringCentered instead of a hardcoded offset to make the string appear centred.
maedhros <maedhros@openttd.org>
parents:
5791
diff
changeset
|
193 /* Draw the label under the data point rather than on the grid line. */ |
50846c721bda
(svn r8350) -Codechange: [Graphs] Use DrawStringCentered instead of a hardcoded offset to make the string appear centred.
maedhros <maedhros@openttd.org>
parents:
5791
diff
changeset
|
194 x = gw->left + GRAPH_X_POSITION_BEGINNING + (GRAPH_X_POSITION_SEPARATION / 2) + 1; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
195 y = gw->top + gw->height + 1; |
5771
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
196 uint16 label = gw->x_values_start; |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
197 |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
198 for (int i = 0; i < gw->num_on_x_axis; i++) { |
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
199 SetDParam(0, label); |
5793
50846c721bda
(svn r8350) -Codechange: [Graphs] Use DrawStringCentered instead of a hardcoded offset to make the string appear centred.
maedhros <maedhros@openttd.org>
parents:
5791
diff
changeset
|
200 DrawStringCentered(x, y, STR_01CB, GRAPH_AXIS_LABEL_COLOUR); |
50846c721bda
(svn r8350) -Codechange: [Graphs] Use DrawStringCentered instead of a hardcoded offset to make the string appear centred.
maedhros <maedhros@openttd.org>
parents:
5791
diff
changeset
|
201 |
5771
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
202 label += gw->x_values_increment; |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
203 x += GRAPH_X_POSITION_SEPARATION; |
5771
ee8916154ac7
(svn r8322) -Codechange: Rename unk61A and unk61C to something a little more descriptive.
maedhros <maedhros@openttd.org>
parents:
5768
diff
changeset
|
204 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
205 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
206 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
207 /* draw lines and dots */ |
5777
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
208 for (int i = 0; i < gw->num_dataset; i++) { |
7928
4e8dfd103163
(svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style
skidd13 <skidd13@openttd.org>
parents:
7923
diff
changeset
|
209 if (!HasBit(gw->excluded_data, i)) { |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
210 /* Centre the dot between the grid lines. */ |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
211 x = gw->left + GRAPH_X_POSITION_BEGINNING + (GRAPH_X_POSITION_SEPARATION / 2); |
5791
4fd992bac142
(svn r8347) -Codechange: [Graphs] Make some more variables local to the loops they're used in, and remove some assumptions about the size of an array.
maedhros <maedhros@openttd.org>
parents:
5778
diff
changeset
|
212 |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
213 byte color = gw->colors[i]; |
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
214 uint prev_x = INVALID_DATAPOINT_POS; |
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
215 uint prev_y = INVALID_DATAPOINT_POS; |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
216 |
5791
4fd992bac142
(svn r8347) -Codechange: [Graphs] Make some more variables local to the loops they're used in, and remove some assumptions about the size of an array.
maedhros <maedhros@openttd.org>
parents:
5778
diff
changeset
|
217 for (int j = 0; j < gw->num_on_x_axis; j++) { |
8000
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
218 OverflowSafeInt64 datapoint = gw->cost[i][j]; |
5791
4fd992bac142
(svn r8347) -Codechange: [Graphs] Make some more variables local to the loops they're used in, and remove some assumptions about the size of an array.
maedhros <maedhros@openttd.org>
parents:
5778
diff
changeset
|
219 |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
220 if (datapoint != INVALID_DATAPOINT) { |
8000
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
221 /* |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
222 * Check whether we need to reduce the 'accuracy' of the |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
223 * datapoint value and the highest value to splut overflows. |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
224 * And when 'drawing' 'one million' or 'one million and one' |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
225 * there is no significant difference, so the least |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
226 * significant bits can just be removed. |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
227 * |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
228 * If there are more bits needed than would fit in a 32 bits |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
229 * integer, so at about 31 bits because of the sign bit, the |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
230 * least significant bits are removed. |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
231 */ |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
232 int mult_range = FindLastBit(x_axis_offset) + FindLastBit(abs(datapoint)); |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
233 int reduce_range = max(mult_range - 31, 0); |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
234 |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
235 /* Handle negative values differently (don't shift sign) */ |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
236 if (datapoint < 0) { |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
237 datapoint = -(abs(datapoint) >> reduce_range); |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
238 } else { |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
239 datapoint >>= reduce_range; |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
240 } |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
241 |
e7e6c96913eb
(svn r11559) -Fix [FS#1505]: overflow when drawing graphics with high company values.
rubidium <rubidium@openttd.org>
parents:
7997
diff
changeset
|
242 y = gw->top + x_axis_offset - (x_axis_offset * datapoint) / (highest_value >> reduce_range); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
243 |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
244 /* Draw the point. */ |
6491
696f0e1b046e
(svn r9672) -Cleanup: lots of coding style fixes around operands.
rubidium <rubidium@openttd.org>
parents:
6463
diff
changeset
|
245 GfxFillRect(x - 1, y - 1, x + 1, y + 1, color); |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
246 |
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
247 /* Draw the line connected to the previous point. */ |
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
248 if (prev_x != INVALID_DATAPOINT_POS) GfxDrawLine(prev_x, prev_y, x, y, color); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
249 |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
250 prev_x = x; |
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
251 prev_y = y; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
252 } else { |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
253 prev_x = INVALID_DATAPOINT_POS; |
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
254 prev_y = INVALID_DATAPOINT_POS; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
255 } |
5805
b7c3a94ff74e
(svn r8367) -Fix: [Graphs] Don't try to use the same value to mean something is invalid for both an int64 and a uint.
maedhros <maedhros@openttd.org>
parents:
5804
diff
changeset
|
256 |
5776
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
257 x += GRAPH_X_POSITION_SEPARATION; |
b820f9df1f2d
(svn r8328) -Codechange: Remove some magic numbers in the graph drawing code.
maedhros <maedhros@openttd.org>
parents:
5771
diff
changeset
|
258 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
259 } |
5777
d889b4c8d326
(svn r8329) -Codechange: Remove the the horribly abused j and k variables completely, and make i local to each loop it's used in.
maedhros <maedhros@openttd.org>
parents:
5776
diff
changeset
|
260 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
261 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
262 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
263 /****************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
264 /* GRAPH LEGEND */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
265 /****************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
266 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
267 static void GraphLegendWndProc(Window *w, WindowEvent *e) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
268 { |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
269 switch (e->event) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
270 case WE_CREATE: |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
271 for (uint i = 3; i < w->widget_count; i++) { |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
272 if (!HasBit(_legend_excluded_players, i - 3)) w->LowerWidget(i); |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
273 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
274 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
275 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
276 case WE_PAINT: { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
277 const Player *p; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
278 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
279 FOR_ALL_PLAYERS(p) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
280 if (p->is_active) continue; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
281 |
7931
44ff7a6d801f
(svn r11484) -Codechange: Remove the doubled function SetBitT and rename the remaining to fit with the naming style
skidd13 <skidd13@openttd.org>
parents:
7928
diff
changeset
|
282 SetBit(_legend_excluded_players, p->index); |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
283 w->RaiseWidget(p->index + 3); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
284 } |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
285 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
286 DrawWindowWidgets(w); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
287 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
288 FOR_ALL_PLAYERS(p) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
289 if (!p->is_active) continue; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
290 |
6491
696f0e1b046e
(svn r9672) -Cleanup: lots of coding style fixes around operands.
rubidium <rubidium@openttd.org>
parents:
6463
diff
changeset
|
291 DrawPlayerIcon(p->index, 4, 18 + p->index * 12); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
292 |
7058
74d401c66902
(svn r10323) -Codechange: reference company name, number and player (president) name
peter1138 <peter1138@openttd.org>
parents:
7002
diff
changeset
|
293 SetDParam(0, p->index); |
74d401c66902
(svn r10323) -Codechange: reference company name, number and player (president) name
peter1138 <peter1138@openttd.org>
parents:
7002
diff
changeset
|
294 SetDParam(1, p->index); |
7928
4e8dfd103163
(svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style
skidd13 <skidd13@openttd.org>
parents:
7923
diff
changeset
|
295 DrawString(21, 17 + p->index * 12, STR_7021, HasBit(_legend_excluded_players, p->index) ? TC_BLACK : TC_WHITE); |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
296 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
297 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
298 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
299 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
300 case WE_CLICK: |
7954
38bb7c45688f
(svn r11510) -Codechange: merge the IS_*INSIDE* functions and rename them fitting to the naming style
skidd13 <skidd13@openttd.org>
parents:
7932
diff
changeset
|
301 if (!IsInsideMM(e->we.click.widget, 3, 11)) return; |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
302 |
7932
712f252f0d4d
(svn r11485) -Codechange: Remove the doubled function ToggleBitT and rename the remaining to fit with the naming style
skidd13 <skidd13@openttd.org>
parents:
7931
diff
changeset
|
303 ToggleBit(_legend_excluded_players, e->we.click.widget - 3); |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
304 w->ToggleWidgetLoweredState(e->we.click.widget); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
305 SetWindowDirty(w); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
306 InvalidateWindow(WC_INCOME_GRAPH, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
307 InvalidateWindow(WC_OPERATING_PROFIT, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
308 InvalidateWindow(WC_DELIVERED_CARGO, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
309 InvalidateWindow(WC_PERFORMANCE_HISTORY, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
310 InvalidateWindow(WC_COMPANY_VALUE, 0); |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
311 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
312 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
313 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
314 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
315 static const Widget _graph_legend_widgets[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
316 { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
317 { WWT_CAPTION, RESIZE_NONE, 14, 11, 249, 0, 13, STR_704E_KEY_TO_COMPANY_GRAPHS, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
318 { WWT_PANEL, RESIZE_NONE, 14, 0, 249, 14, 113, 0x0, STR_NULL}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
319 { WWT_PANEL, RESIZE_NONE, 14, 2, 247, 16, 27, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
320 { WWT_PANEL, RESIZE_NONE, 14, 2, 247, 28, 39, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
321 { WWT_PANEL, RESIZE_NONE, 14, 2, 247, 40, 51, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
322 { WWT_PANEL, RESIZE_NONE, 14, 2, 247, 52, 63, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
323 { WWT_PANEL, RESIZE_NONE, 14, 2, 247, 64, 75, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
324 { WWT_PANEL, RESIZE_NONE, 14, 2, 247, 76, 87, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
325 { WWT_PANEL, RESIZE_NONE, 14, 2, 247, 88, 99, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
326 { WWT_PANEL, RESIZE_NONE, 14, 2, 247, 100, 111, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
327 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
328 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
329 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
330 static const WindowDesc _graph_legend_desc = { |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
331 WDP_AUTO, WDP_AUTO, 250, 114, 250, 114, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5812
diff
changeset
|
332 WC_GRAPH_LEGEND, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
333 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
334 _graph_legend_widgets, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
335 GraphLegendWndProc |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
336 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
337 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6203
diff
changeset
|
338 static void ShowGraphLegend() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
339 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
340 AllocateWindowDescFront(&_graph_legend_desc, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
341 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
342 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
343 /********************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
344 /* OPERATING PROFIT */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
345 /********************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
346 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
347 static void SetupGraphDrawerForPlayers(GraphDrawer *gd) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
348 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
349 const Player* p; |
5806
4f5e2ea123e8
(svn r8368) -Cleanup: [Graphs] Rename the variables relating to whether datasets should be drawn, and use HASBIT for testing against them.
maedhros <maedhros@openttd.org>
parents:
5805
diff
changeset
|
350 uint excluded_players = _legend_excluded_players; |
5601
ca6b459bf488
(svn r8055) -Codechange: Replace the different max, dmax, maxu whatever macros by a simple template function max(), that requires two arguments of the same type. While I'm at it change a variable called "max" to "maxval" in a function that calls max().
celestar <celestar@openttd.org>
parents:
5587
diff
changeset
|
351 byte nums; |
6491
696f0e1b046e
(svn r9672) -Cleanup: lots of coding style fixes around operands.
rubidium <rubidium@openttd.org>
parents:
6463
diff
changeset
|
352 int mo, yr; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
353 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
354 /* Exclude the players which aren't valid */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
355 FOR_ALL_PLAYERS(p) { |
7931
44ff7a6d801f
(svn r11484) -Codechange: Remove the doubled function SetBitT and rename the remaining to fit with the naming style
skidd13 <skidd13@openttd.org>
parents:
7928
diff
changeset
|
356 if (!p->is_active) SetBit(excluded_players, p->index); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
357 } |
5806
4f5e2ea123e8
(svn r8368) -Cleanup: [Graphs] Rename the variables relating to whether datasets should be drawn, and use HASBIT for testing against them.
maedhros <maedhros@openttd.org>
parents:
5805
diff
changeset
|
358 gd->excluded_data = excluded_players; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
359 gd->num_vert_lines = 24; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
360 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
361 nums = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
362 FOR_ALL_PLAYERS(p) { |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
363 if (p->is_active) nums = max(nums, p->num_valid_stat_ent); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
364 } |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
365 gd->num_on_x_axis = min(nums, 24); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
366 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
367 mo = (_cur_month / 3 - nums) * 3; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
368 yr = _cur_year; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
369 while (mo < 0) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
370 yr--; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
371 mo += 12; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
372 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
373 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
374 gd->year = yr; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
375 gd->month = mo; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
376 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
377 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
378 static void OperatingProfitWndProc(Window *w, WindowEvent *e) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
379 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
380 switch (e->event) { |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
381 case WE_PAINT: { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
382 GraphDrawer gd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
383 const Player* p; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
384 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
385 DrawWindowWidgets(w); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
386 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
387 gd.left = 2; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
388 gd.top = 18; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
389 gd.height = 136; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
390 gd.has_negative_values = true; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
391 gd.format_str_y_axis = STR_CURRCOMPACT; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
392 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
393 SetupGraphDrawerForPlayers(&gd); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
394 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
395 int numd = 0; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
396 FOR_ALL_PLAYERS(p) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
397 if (p->is_active) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
398 gd.colors[numd] = _colour_gradient[p->player_color][6]; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
399 for (int j = gd.num_on_x_axis, i = 0; --j >= 0;) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
400 gd.cost[numd][i] = (j >= p->num_valid_stat_ent) ? INVALID_DATAPOINT : (p->old_economy[j].income + p->old_economy[j].expenses); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
401 i++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
402 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
403 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
404 numd++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
405 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
406 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
407 gd.num_dataset = numd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
408 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
409 DrawGraph(&gd); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
410 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
411 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
412 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
413 case WE_CLICK: |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
414 /* Clicked on legend? */ |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
415 if (e->we.click.widget == 2) ShowGraphLegend(); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
416 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
417 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
418 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
419 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
420 static const Widget _operating_profit_widgets[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
421 { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
422 { WWT_CAPTION, RESIZE_NONE, 14, 11, 525, 0, 13, STR_7025_OPERATING_PROFIT_GRAPH, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
423 { WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
424 { WWT_PANEL, RESIZE_NONE, 14, 0, 575, 14, 173, 0x0, STR_NULL}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
425 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
426 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
427 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
428 static const WindowDesc _operating_profit_desc = { |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
429 WDP_AUTO, WDP_AUTO, 576, 174, 576, 174, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5812
diff
changeset
|
430 WC_OPERATING_PROFIT, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
431 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
432 _operating_profit_widgets, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
433 OperatingProfitWndProc |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
434 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
435 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
436 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6203
diff
changeset
|
437 void ShowOperatingProfitGraph() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
438 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
439 if (AllocateWindowDescFront(&_operating_profit_desc, 0)) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
440 InvalidateWindow(WC_GRAPH_LEGEND, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
441 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
442 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
443 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
444 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
445 /****************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
446 /* INCOME GRAPH */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
447 /****************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
448 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
449 static void IncomeGraphWndProc(Window *w, WindowEvent *e) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
450 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
451 switch (e->event) { |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
452 case WE_PAINT: { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
453 GraphDrawer gd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
454 const Player* p; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
455 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
456 DrawWindowWidgets(w); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
457 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
458 gd.left = 2; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
459 gd.top = 18; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
460 gd.height = 104; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
461 gd.has_negative_values = false; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
462 gd.format_str_y_axis = STR_CURRCOMPACT; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
463 SetupGraphDrawerForPlayers(&gd); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
464 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
465 int numd = 0; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
466 FOR_ALL_PLAYERS(p) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
467 if (p->is_active) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
468 gd.colors[numd] = _colour_gradient[p->player_color][6]; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
469 for (int j = gd.num_on_x_axis, i = 0; --j >= 0;) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
470 gd.cost[numd][i] = (j >= p->num_valid_stat_ent) ? INVALID_DATAPOINT : p->old_economy[j].income; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
471 i++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
472 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
473 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
474 numd++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
475 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
476 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
477 gd.num_dataset = numd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
478 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
479 DrawGraph(&gd); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
480 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
481 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
482 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
483 case WE_CLICK: |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
484 if (e->we.click.widget == 2) ShowGraphLegend(); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
485 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
486 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
487 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
488 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
489 static const Widget _income_graph_widgets[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
490 { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
491 { WWT_CAPTION, RESIZE_NONE, 14, 11, 525, 0, 13, STR_7022_INCOME_GRAPH, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
492 { WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
493 { WWT_PANEL, RESIZE_NONE, 14, 0, 575, 14, 141, 0x0, STR_NULL}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
494 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
495 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
496 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
497 static const WindowDesc _income_graph_desc = { |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
498 WDP_AUTO, WDP_AUTO, 576, 142, 576, 142, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5812
diff
changeset
|
499 WC_INCOME_GRAPH, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
500 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
501 _income_graph_widgets, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
502 IncomeGraphWndProc |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
503 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
504 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6203
diff
changeset
|
505 void ShowIncomeGraph() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
506 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
507 if (AllocateWindowDescFront(&_income_graph_desc, 0)) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
508 InvalidateWindow(WC_GRAPH_LEGEND, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
509 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
510 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
511 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
512 /*******************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
513 /* DELIVERED CARGO */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
514 /*******************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
515 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
516 static void DeliveredCargoGraphWndProc(Window *w, WindowEvent *e) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
517 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
518 switch (e->event) { |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
519 case WE_PAINT: { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
520 GraphDrawer gd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
521 const Player* p; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
522 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
523 DrawWindowWidgets(w); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
524 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
525 gd.left = 2; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
526 gd.top = 18; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
527 gd.height = 104; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
528 gd.has_negative_values = false; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
529 gd.format_str_y_axis = STR_7024; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
530 SetupGraphDrawerForPlayers(&gd); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
531 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
532 int numd = 0; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
533 FOR_ALL_PLAYERS(p) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
534 if (p->is_active) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
535 gd.colors[numd] = _colour_gradient[p->player_color][6]; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
536 for (int j = gd.num_on_x_axis, i = 0; --j >= 0;) { |
7763
b66a3cb83e69
(svn r11312) -Codechange: implement a overflow safe integer and use that for money and don't misuses CommandCost to have a overflow safe integer. Based on a patch by Noldo.
rubidium <rubidium@openttd.org>
parents:
7520
diff
changeset
|
537 gd.cost[numd][i] = (j >= p->num_valid_stat_ent) ? INVALID_DATAPOINT : (OverflowSafeInt64)p->old_economy[j].delivered_cargo; |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
538 i++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
539 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
540 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
541 numd++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
542 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
543 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
544 gd.num_dataset = numd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
545 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
546 DrawGraph(&gd); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
547 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
548 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
549 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
550 case WE_CLICK: |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
551 if (e->we.click.widget == 2) ShowGraphLegend(); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
552 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
553 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
554 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
555 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
556 static const Widget _delivered_cargo_graph_widgets[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
557 { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
558 { WWT_CAPTION, RESIZE_NONE, 14, 11, 525, 0, 13, STR_7050_UNITS_OF_CARGO_DELIVERED, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
559 { WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
560 { WWT_PANEL, RESIZE_NONE, 14, 0, 575, 14, 141, 0x0, STR_NULL}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
561 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
562 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
563 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
564 static const WindowDesc _delivered_cargo_graph_desc = { |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
565 WDP_AUTO, WDP_AUTO, 576, 142, 576, 142, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5812
diff
changeset
|
566 WC_DELIVERED_CARGO, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
567 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
568 _delivered_cargo_graph_widgets, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
569 DeliveredCargoGraphWndProc |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
570 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
571 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6203
diff
changeset
|
572 void ShowDeliveredCargoGraph() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
573 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
574 if (AllocateWindowDescFront(&_delivered_cargo_graph_desc, 0)) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
575 InvalidateWindow(WC_GRAPH_LEGEND, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
576 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
577 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
578 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
579 /***********************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
580 /* PERFORMANCE HISTORY */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
581 /***********************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
582 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
583 static void PerformanceHistoryWndProc(Window *w, WindowEvent *e) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
584 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
585 switch (e->event) { |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
586 case WE_PAINT: { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
587 GraphDrawer gd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
588 const Player* p; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
589 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
590 DrawWindowWidgets(w); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
591 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
592 gd.left = 2; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
593 gd.top = 18; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
594 gd.height = 200; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
595 gd.has_negative_values = false; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
596 gd.format_str_y_axis = STR_7024; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
597 SetupGraphDrawerForPlayers(&gd); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
598 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
599 int numd = 0; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
600 FOR_ALL_PLAYERS(p) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
601 if (p->is_active) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
602 gd.colors[numd] = _colour_gradient[p->player_color][6]; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
603 for (int j = gd.num_on_x_axis, i = 0; --j >= 0;) { |
7763
b66a3cb83e69
(svn r11312) -Codechange: implement a overflow safe integer and use that for money and don't misuses CommandCost to have a overflow safe integer. Based on a patch by Noldo.
rubidium <rubidium@openttd.org>
parents:
7520
diff
changeset
|
604 gd.cost[numd][i] = (j >= p->num_valid_stat_ent) ? INVALID_DATAPOINT : (OverflowSafeInt64)p->old_economy[j].performance_history; |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
605 i++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
606 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
607 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
608 numd++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
609 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
610 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
611 gd.num_dataset = numd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
612 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
613 DrawGraph(&gd); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
614 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
615 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
616 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
617 case WE_CLICK: |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
618 if (e->we.click.widget == 2) ShowGraphLegend(); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
619 if (e->we.click.widget == 3) ShowPerformanceRatingDetail(); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
620 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
621 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
622 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
623 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
624 static const Widget _performance_history_widgets[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
625 { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
626 { WWT_CAPTION, RESIZE_NONE, 14, 11, 475, 0, 13, STR_7051_COMPANY_PERFORMANCE_RATINGS, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
627 { WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
628 { WWT_PUSHTXTBTN, RESIZE_NONE, 14, 476, 525, 0, 13, STR_PERFORMANCE_DETAIL_KEY, STR_704D_SHOW_KEY_TO_GRAPHS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
629 { WWT_PANEL, RESIZE_NONE, 14, 0, 575, 14, 237, 0x0, STR_NULL}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
630 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
631 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
632 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
633 static const WindowDesc _performance_history_desc = { |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
634 WDP_AUTO, WDP_AUTO, 576, 238, 576, 238, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5812
diff
changeset
|
635 WC_PERFORMANCE_HISTORY, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
636 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
637 _performance_history_widgets, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
638 PerformanceHistoryWndProc |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
639 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
640 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6203
diff
changeset
|
641 void ShowPerformanceHistoryGraph() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
642 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
643 if (AllocateWindowDescFront(&_performance_history_desc, 0)) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
644 InvalidateWindow(WC_GRAPH_LEGEND, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
645 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
646 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
647 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
648 /*****************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
649 /* COMPANY VALUE */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
650 /*****************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
651 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
652 static void CompanyValueGraphWndProc(Window *w, WindowEvent *e) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
653 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
654 switch (e->event) { |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
655 case WE_PAINT: { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
656 GraphDrawer gd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
657 const Player* p; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
658 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
659 DrawWindowWidgets(w); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
660 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
661 gd.left = 2; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
662 gd.top = 18; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
663 gd.height = 200; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
664 gd.has_negative_values = false; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
665 gd.format_str_y_axis = STR_CURRCOMPACT; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
666 SetupGraphDrawerForPlayers(&gd); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
667 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
668 int numd = 0; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
669 FOR_ALL_PLAYERS(p) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
670 if (p->is_active) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
671 gd.colors[numd] = _colour_gradient[p->player_color][6]; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
672 for (int j = gd.num_on_x_axis, i = 0; --j >= 0;) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
673 gd.cost[numd][i] = (j >= p->num_valid_stat_ent) ? INVALID_DATAPOINT : p->old_economy[j].company_value; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
674 i++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
675 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
676 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
677 numd++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
678 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
679 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
680 gd.num_dataset = numd; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
681 |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
682 DrawGraph(&gd); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
683 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
684 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
685 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
686 case WE_CLICK: |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
687 if (e->we.click.widget == 2) ShowGraphLegend(); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
688 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
689 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
690 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
691 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
692 static const Widget _company_value_graph_widgets[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
693 { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
694 { WWT_CAPTION, RESIZE_NONE, 14, 11, 525, 0, 13, STR_7052_COMPANY_VALUES, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
695 { WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
696 { WWT_PANEL, RESIZE_NONE, 14, 0, 575, 14, 237, 0x0, STR_NULL}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
697 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
698 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
699 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
700 static const WindowDesc _company_value_graph_desc = { |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
701 WDP_AUTO, WDP_AUTO, 576, 238, 576, 238, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5812
diff
changeset
|
702 WC_COMPANY_VALUE, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
703 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
704 _company_value_graph_widgets, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
705 CompanyValueGraphWndProc |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
706 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
707 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6203
diff
changeset
|
708 void ShowCompanyValueGraph() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
709 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
710 if (AllocateWindowDescFront(&_company_value_graph_desc, 0)) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
711 InvalidateWindow(WC_GRAPH_LEGEND, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
712 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
713 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
714 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
715 /*****************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
716 /* PAYMENT RATES */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
717 /*****************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
718 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
719 static void CargoPaymentRatesWndProc(Window *w, WindowEvent *e) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
720 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
721 switch (e->event) { |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
722 case WE_PAINT: { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
723 GraphDrawer gd; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
724 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
725 DrawWindowWidgets(w); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
726 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
727 int x = 495; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
728 int y = 24; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
729 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
730 gd.excluded_data = _legend_excluded_cargo; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
731 gd.left = 2; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
732 gd.top = 24; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
733 gd.height = w->height - 38; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
734 gd.has_negative_values = false; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
735 gd.format_str_y_axis = STR_CURRCOMPACT; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
736 gd.num_on_x_axis = 20; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
737 gd.num_vert_lines = 20; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
738 gd.month = 0xFF; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
739 gd.x_values_start = 10; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
740 gd.x_values_increment = 10; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
741 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
742 uint i = 0; |
6350
8132258640be
(svn r9388) -Codechange: variable scope and type, and standardify all CargoID loops.
peter1138 <peter1138@openttd.org>
parents:
6270
diff
changeset
|
743 for (CargoID c = 0; c < NUM_CARGO; c++) { |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
744 const CargoSpec *cs = GetCargo(c); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
745 if (!cs->IsValid()) continue; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
746 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
747 /* Only draw labels for widgets that exist. If the widget doesn't |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
748 * exist then the local player has used the climate cheat or |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
749 * changed the NewGRF configuration with this window open. */ |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
750 if (i + 3 < w->widget_count) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
751 /* Since the buttons have no text, no images, |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
752 * both the text and the colored box have to be manually painted. |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
753 * clk_dif will move one pixel down and one pixel to the right |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
754 * when the button is clicked */ |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
755 byte clk_dif = w->IsWidgetLowered(i + 3) ? 1 : 0; |
6192
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
756 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
757 GfxFillRect(x + clk_dif, y + clk_dif, x + 8 + clk_dif, y + 5 + clk_dif, 0); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
758 GfxFillRect(x + 1 + clk_dif, y + 1 + clk_dif, x + 7 + clk_dif, y + 4 + clk_dif, cs->legend_colour); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
759 SetDParam(0, cs->name); |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
760 DrawString(x + 14 + clk_dif, y + clk_dif, STR_7065, TC_FROMSTRING); |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
761 y += 8; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
762 } |
6192
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
763 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
764 gd.colors[i] = cs->legend_colour; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
765 for (uint j = 0; j != 20; j++) { |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
766 gd.cost[i][j] = GetTransportedGoodsIncome(10, 20, j * 6 + 6, c); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
767 } |
6192
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
768 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
769 i++; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
770 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
771 gd.num_dataset = i; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
772 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
773 DrawGraph(&gd); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
774 |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
775 DrawString(2 + 46, 24 + gd.height + 7, STR_7062_DAYS_IN_TRANSIT, TC_FROMSTRING); |
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
776 DrawString(2 + 84, 24 - 9, STR_7063_PAYMENT_FOR_DELIVERING, TC_FROMSTRING); |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
777 break; |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
778 } |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
779 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
780 case WE_CLICK: |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
781 if (e->we.click.widget >= 3) { |
7932
712f252f0d4d
(svn r11485) -Codechange: Remove the doubled function ToggleBitT and rename the remaining to fit with the naming style
skidd13 <skidd13@openttd.org>
parents:
7931
diff
changeset
|
782 ToggleBit(_legend_excluded_cargo, e->we.click.widget - 3); |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
783 w->ToggleWidgetLoweredState(e->we.click.widget); |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
784 SetWindowDirty(w); |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
785 } |
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
786 break; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
787 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
788 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
789 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
790 static const Widget _cargo_payment_rates_widgets[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
791 { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
792 { WWT_CAPTION, RESIZE_NONE, 14, 11, 567, 0, 13, STR_7061_CARGO_PAYMENT_RATES, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
6192
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
793 { WWT_PANEL, RESIZE_BOTTOM, 14, 0, 567, 14, 45, 0x0, STR_NULL}, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
794 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
795 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
796 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
797 static const WindowDesc _cargo_payment_rates_desc = { |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
798 WDP_AUTO, WDP_AUTO, 568, 46, 568, 46, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5812
diff
changeset
|
799 WC_PAYMENT_RATES, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
800 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
801 _cargo_payment_rates_widgets, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
802 CargoPaymentRatesWndProc |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
803 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
804 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
805 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6203
diff
changeset
|
806 void ShowCargoPaymentRates() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
807 { |
6192
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
808 Window *w = AllocateWindowDescFront(&_cargo_payment_rates_desc, 0); |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
809 if (w == NULL) return; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
810 |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
811 /* Count the number of active cargo types */ |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
812 uint num_active = 0; |
6350
8132258640be
(svn r9388) -Codechange: variable scope and type, and standardify all CargoID loops.
peter1138 <peter1138@openttd.org>
parents:
6270
diff
changeset
|
813 for (CargoID c = 0; c < NUM_CARGO; c++) { |
6192
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
814 if (GetCargo(c)->IsValid()) num_active++; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
815 } |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
816 |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
817 /* Resize the window to fit the cargo types */ |
6372
b530477bd247
(svn r9435) -Fix (r8972): ensure the cargo payment graph is at least 12 "items" high
peter1138 <peter1138@openttd.org>
parents:
6350
diff
changeset
|
818 ResizeWindow(w, 0, max(num_active, 12U) * 8); |
6192
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
819 |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
820 /* Add widgets for each cargo type */ |
6270
60de27078397
(svn r9079) -Codechange: add WWT_LAST widget when dynamically building cargo payment graph
peter1138 <peter1138@openttd.org>
parents:
6248
diff
changeset
|
821 w->widget_count += num_active; |
60de27078397
(svn r9079) -Codechange: add WWT_LAST widget when dynamically building cargo payment graph
peter1138 <peter1138@openttd.org>
parents:
6248
diff
changeset
|
822 w->widget = ReallocT(w->widget, w->widget_count + 1); |
60de27078397
(svn r9079) -Codechange: add WWT_LAST widget when dynamically building cargo payment graph
peter1138 <peter1138@openttd.org>
parents:
6248
diff
changeset
|
823 w->widget[w->widget_count].type = WWT_LAST; |
6192
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
824 |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
825 /* Set the properties of each widget */ |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
826 for (uint i = 0; i != num_active; i++) { |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
827 Widget *wi = &w->widget[3 + i]; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
828 wi->type = WWT_PANEL; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
829 wi->display_flags = RESIZE_NONE; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
830 wi->color = 12; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
831 wi->left = 493; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
832 wi->right = 562; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
833 wi->top = 24 + i * 8; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
834 wi->bottom = wi->top + 7; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
835 wi->data = 0; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
836 wi->tooltips = STR_7064_TOGGLE_GRAPH_FOR_CARGO; |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
837 |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
838 if (!HasBit(_legend_excluded_cargo, i)) w->LowerWidget(i + 3); |
6192
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
839 } |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
840 |
44da08e7d3d1
(svn r8972) -Codechange: Dynamically add buttons on the cargo payment graph. This lets us remove the gaps and allow more than 12 cargo types later.
peter1138 <peter1138@openttd.org>
parents:
6179
diff
changeset
|
841 SetWindowDirty(w); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
842 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
843 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
844 /************************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
845 /* COMPANY LEAGUE TABLE */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
846 /************************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
847 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
848 static const StringID _performance_titles[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
849 STR_7066_ENGINEER, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
850 STR_7066_ENGINEER, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
851 STR_7067_TRAFFIC_MANAGER, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
852 STR_7067_TRAFFIC_MANAGER, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
853 STR_7068_TRANSPORT_COORDINATOR, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
854 STR_7068_TRANSPORT_COORDINATOR, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
855 STR_7069_ROUTE_SUPERVISOR, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
856 STR_7069_ROUTE_SUPERVISOR, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
857 STR_706A_DIRECTOR, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
858 STR_706A_DIRECTOR, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
859 STR_706B_CHIEF_EXECUTIVE, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
860 STR_706B_CHIEF_EXECUTIVE, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
861 STR_706C_CHAIRMAN, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
862 STR_706C_CHAIRMAN, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
863 STR_706D_PRESIDENT, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
864 STR_706E_TYCOON, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
865 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
866 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
867 static inline StringID GetPerformanceTitleFromValue(uint value) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
868 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
869 return _performance_titles[minu(value, 1000) >> 6]; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
870 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
871 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
872 static int CDECL PerfHistComp(const void* elem1, const void* elem2) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
873 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
874 const Player* p1 = *(const Player* const*)elem1; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
875 const Player* p2 = *(const Player* const*)elem2; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
876 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
877 return p2->old_economy[1].performance_history - p1->old_economy[1].performance_history; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
878 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
879 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
880 static void CompanyLeagueWndProc(Window *w, WindowEvent *e) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
881 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
882 switch (e->event) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
883 case WE_PAINT: { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
884 const Player* plist[MAX_PLAYERS]; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
885 const Player* p; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
886 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
887 DrawWindowWidgets(w); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
888 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
889 uint pl_num = 0; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
890 FOR_ALL_PLAYERS(p) if (p->is_active) plist[pl_num++] = p; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
891 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
892 qsort((void*)plist, pl_num, sizeof(*plist), PerfHistComp); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
893 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
894 for (uint i = 0; i != pl_num; i++) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
895 p = plist[i]; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
896 SetDParam(0, i + STR_01AC_1ST); |
7058
74d401c66902
(svn r10323) -Codechange: reference company name, number and player (president) name
peter1138 <peter1138@openttd.org>
parents:
7002
diff
changeset
|
897 SetDParam(1, p->index); |
74d401c66902
(svn r10323) -Codechange: reference company name, number and player (president) name
peter1138 <peter1138@openttd.org>
parents:
7002
diff
changeset
|
898 SetDParam(2, p->index); |
74d401c66902
(svn r10323) -Codechange: reference company name, number and player (president) name
peter1138 <peter1138@openttd.org>
parents:
7002
diff
changeset
|
899 SetDParam(3, GetPerformanceTitleFromValue(p->old_economy[1].performance_history)); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
900 |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
901 DrawString(2, 15 + i * 10, i == 0 ? STR_7054 : STR_7055, TC_FROMSTRING); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
902 DrawPlayerIcon(p->index, 27, 16 + i * 10); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
903 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
904 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
905 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
906 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
907 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
908 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
909 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
910 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
911 static const Widget _company_league_widgets[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
912 { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
913 { WWT_CAPTION, RESIZE_NONE, 14, 11, 387, 0, 13, STR_7053_COMPANY_LEAGUE_TABLE, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
914 { WWT_STICKYBOX, RESIZE_NONE, 14, 388, 399, 0, 13, STR_NULL, STR_STICKY_BUTTON}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
915 { WWT_PANEL, RESIZE_NONE, 14, 0, 399, 14, 96, 0x0, STR_NULL}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
916 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
917 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
918 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
919 static const WindowDesc _company_league_desc = { |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
920 WDP_AUTO, WDP_AUTO, 400, 97, 400, 97, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5812
diff
changeset
|
921 WC_COMPANY_LEAGUE, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
922 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
923 _company_league_widgets, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
924 CompanyLeagueWndProc |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
925 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
926 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6203
diff
changeset
|
927 void ShowCompanyLeagueTable() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
928 { |
6491
696f0e1b046e
(svn r9672) -Cleanup: lots of coding style fixes around operands.
rubidium <rubidium@openttd.org>
parents:
6463
diff
changeset
|
929 AllocateWindowDescFront(&_company_league_desc, 0); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
930 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
931 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
932 /*****************************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
933 /* PERFORMANCE RATING DETAIL */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
934 /*****************************/ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
935 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
936 static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
937 { |
5946
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
938 static PlayerID _performance_rating_detail_player = INVALID_PLAYER; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
939 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
940 switch (e->event) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
941 case WE_PAINT: { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
942 byte x; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
943 uint16 y = 14; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
944 int total_score = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
945 int color_done, color_notdone; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
946 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
947 /* Draw standard stuff */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
948 DrawWindowWidgets(w); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
949 |
5946
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
950 /* Check if the currently selected player is still active. */ |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
951 if (_performance_rating_detail_player == INVALID_PLAYER || !GetPlayer(_performance_rating_detail_player)->is_active) { |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
952 if (_performance_rating_detail_player != INVALID_PLAYER) { |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
953 /* Raise and disable the widget for the previous selection. */ |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
954 w->RaiseWidget(_performance_rating_detail_player + 13); |
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
955 w->DisableWidget(_performance_rating_detail_player + 13); |
5946
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
956 SetWindowDirty(w); |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
957 |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
958 _performance_rating_detail_player = INVALID_PLAYER; |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
959 } |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
960 |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
961 for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) { |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
962 if (GetPlayer(i)->is_active) { |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
963 /* Lower the widget corresponding to this player. */ |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
964 w->LowerWidget(i + 13); |
5946
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
965 SetWindowDirty(w); |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
966 |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
967 _performance_rating_detail_player = i; |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
968 break; |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
969 } |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
970 } |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
971 } |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
972 |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
973 /* If there are no active players, don't display anything else. */ |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
974 if (_performance_rating_detail_player == INVALID_PLAYER) break; |
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
975 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
976 /* Paint the player icons */ |
5587
c44c070c5032
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents:
5584
diff
changeset
|
977 for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
978 if (!GetPlayer(i)->is_active) { |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
979 /* Check if we have the player as an active player */ |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
980 if (!w->IsWidgetDisabled(i + 13)) { |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
981 /* Bah, player gone :( */ |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
982 w->DisableWidget(i + 13); |
5946
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
983 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
984 /* We need a repaint */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
985 SetWindowDirty(w); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
986 } |
5946
1dc5b0b8fe69
(svn r8612) -Fix (r117) [FS#582]: When the currently selected player in the performance
maedhros <maedhros@openttd.org>
parents:
5893
diff
changeset
|
987 continue; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
988 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
989 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
990 /* Check if we have the player marked as inactive */ |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
991 if (w->IsWidgetDisabled(i + 13)) { |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
992 /* New player! Yippie :p */ |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
993 w->EnableWidget(i + 13); |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
994 /* We need a repaint */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
995 SetWindowDirty(w); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
996 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
997 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
998 x = (i == _performance_rating_detail_player) ? 1 : 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
999 DrawPlayerIcon(i, i * 37 + 13 + x, 16 + x); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1000 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1001 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1002 /* The colors used to show how the progress is going */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1003 color_done = _colour_gradient[COLOUR_GREEN][4]; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1004 color_notdone = _colour_gradient[COLOUR_RED][4]; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1005 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1006 /* Draw all the score parts */ |
5587
c44c070c5032
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents:
5584
diff
changeset
|
1007 for (ScoreID i = SCORE_BEGIN; i < SCORE_END; i++) { |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1008 int val = _score_part[_performance_rating_detail_player][i]; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1009 int needed = _score_info[i].needed; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1010 int score = _score_info[i].score; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1011 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1012 y += 20; |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1013 /* SCORE_TOTAL has his own rulez ;) */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1014 if (i == SCORE_TOTAL) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1015 needed = total_score; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1016 score = SCORE_MAX; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1017 } else { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1018 total_score += score; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1019 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1020 |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
1021 DrawString(7, y, STR_PERFORMANCE_DETAIL_VEHICLES + i, TC_FROMSTRING); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1022 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1023 /* Draw the score */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1024 SetDParam(0, score); |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
1025 DrawStringRightAligned(107, y, SET_PERFORMANCE_DETAIL_INT, TC_FROMSTRING); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1026 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1027 /* Calculate the %-bar */ |
7922
ff1975ced735
(svn r11475) -Codechange: rename clamp and clampu to Clamp and ClampU to fit with the coding style
skidd13 <skidd13@openttd.org>
parents:
7824
diff
changeset
|
1028 x = Clamp(val, 0, needed) * 50 / needed; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1029 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1030 /* SCORE_LOAN is inversed */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1031 if (val < 0 && i == SCORE_LOAN) x = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1032 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1033 /* Draw the bar */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1034 if (x != 0) GfxFillRect(112, y - 2, 112 + x, y + 10, color_done); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1035 if (x != 50) GfxFillRect(112 + x, y - 2, 112 + 50, y + 10, color_notdone); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1036 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1037 /* Calculate the % */ |
7922
ff1975ced735
(svn r11475) -Codechange: rename clamp and clampu to Clamp and ClampU to fit with the coding style
skidd13 <skidd13@openttd.org>
parents:
7824
diff
changeset
|
1038 x = Clamp(val, 0, needed) * 100 / needed; |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1039 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1040 /* SCORE_LOAN is inversed */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1041 if (val < 0 && i == SCORE_LOAN) x = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1042 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1043 /* Draw it */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1044 SetDParam(0, x); |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
1045 DrawStringCentered(137, y, STR_PERFORMANCE_DETAIL_PERCENT, TC_FROMSTRING); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1046 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1047 /* SCORE_LOAN is inversed */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1048 if (i == SCORE_LOAN) val = needed - val; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1049 |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1050 /* Draw the amount we have against what is needed |
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1051 * For some of them it is in currency format */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1052 SetDParam(0, val); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1053 SetDParam(1, needed); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1054 switch (i) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1055 case SCORE_MIN_PROFIT: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1056 case SCORE_MIN_INCOME: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1057 case SCORE_MAX_INCOME: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1058 case SCORE_MONEY: |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1059 case SCORE_LOAN: |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
1060 DrawString(167, y, STR_PERFORMANCE_DETAIL_AMOUNT_CURRENCY, TC_FROMSTRING); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1061 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1062 default: |
7824
7ae5bda4e8dd
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas <belugas@openttd.org>
parents:
7763
diff
changeset
|
1063 DrawString(167, y, STR_PERFORMANCE_DETAIL_AMOUNT_INT, TC_FROMSTRING); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1064 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1065 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1066 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1067 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1068 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1069 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1070 case WE_CLICK: |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1071 /* Check which button is clicked */ |
7954
38bb7c45688f
(svn r11510) -Codechange: merge the IS_*INSIDE* functions and rename them fitting to the naming style
skidd13 <skidd13@openttd.org>
parents:
7932
diff
changeset
|
1072 if (IsInsideMM(e->we.click.widget, 13, 21)) { |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1073 /* Is it no on disable? */ |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
1074 if (!w->IsWidgetDisabled(e->we.click.widget)) { |
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
1075 w->RaiseWidget(_performance_rating_detail_player + 13); |
5587
c44c070c5032
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents:
5584
diff
changeset
|
1076 _performance_rating_detail_player = (PlayerID)(e->we.click.widget - 13); |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
1077 w->LowerWidget(_performance_rating_detail_player + 13); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1078 SetWindowDirty(w); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1079 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1080 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1081 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1082 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1083 case WE_CREATE: { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1084 Player *p2; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1085 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1086 /* Disable the players who are not active */ |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
1087 for (PlayerID i = PLAYER_FIRST; i < MAX_PLAYERS; i++) { |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
1088 w->SetWidgetDisabledState(i + 13, !GetPlayer(i)->is_active); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1089 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1090 /* Update all player stats with the current data |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1091 * (this is because _score_info is not saved to a savegame) */ |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1092 FOR_ALL_PLAYERS(p2) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1093 if (p2->is_active) UpdateCompanyRatingAndValue(p2, false); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1094 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1095 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1096 w->custom[0] = DAY_TICKS; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1097 w->custom[1] = 5; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1098 |
7997
d109780d515b
(svn r11555) -Codechange: use the new members introduced in r11551.
rubidium <rubidium@openttd.org>
parents:
7954
diff
changeset
|
1099 if (_performance_rating_detail_player != INVALID_PLAYER) w->LowerWidget(_performance_rating_detail_player + 13); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1100 SetWindowDirty(w); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1101 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1102 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1103 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1104 |
6203
60d5fce9d6b0
(svn r8989) -Fix: more indenting and variable scoping
peter1138 <peter1138@openttd.org>
parents:
6192
diff
changeset
|
1105 case WE_TICK: |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1106 /* Update the player score every 5 days */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1107 if (--w->custom[0] == 0) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1108 w->custom[0] = DAY_TICKS; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1109 if (--w->custom[1] == 0) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1110 Player *p2; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1111 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1112 w->custom[1] = 5; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1113 FOR_ALL_PLAYERS(p2) { |
6179
e3e61b92574b
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas <belugas@openttd.org>
parents:
6091
diff
changeset
|
1114 /* Skip if player is not active */ |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1115 if (p2->is_active) UpdateCompanyRatingAndValue(p2, false); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1116 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1117 SetWindowDirty(w); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1118 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1119 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1120 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1121 break; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1122 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1123 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1124 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1125 static const Widget _performance_rating_detail_widgets[] = { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1126 { WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1127 { WWT_CAPTION, RESIZE_NONE, 14, 11, 298, 0, 13, STR_PERFORMANCE_DETAIL, STR_018C_WINDOW_TITLE_DRAG_THIS}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1128 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 14, 27, 0x0, STR_NULL}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1129 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1130 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 28, 47, 0x0, STR_PERFORMANCE_DETAIL_VEHICLES_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1131 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 48, 67, 0x0, STR_PERFORMANCE_DETAIL_STATIONS_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1132 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 68, 87, 0x0, STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1133 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 88, 107, 0x0, STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1134 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 108, 127, 0x0, STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1135 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 128, 147, 0x0, STR_PERFORMANCE_DETAIL_DELIVERED_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1136 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 148, 167, 0x0, STR_PERFORMANCE_DETAIL_CARGO_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1137 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 168, 187, 0x0, STR_PERFORMANCE_DETAIL_MONEY_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1138 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 188, 207, 0x0, STR_PERFORMANCE_DETAIL_LOAN_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1139 { WWT_PANEL, RESIZE_NONE, 14, 0, 298, 208, 227, 0x0, STR_PERFORMANCE_DETAIL_TOTAL_TIP}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1140 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1141 { WWT_PANEL, RESIZE_NONE, 14, 2, 38, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1142 { WWT_PANEL, RESIZE_NONE, 14, 39, 75, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1143 { WWT_PANEL, RESIZE_NONE, 14, 76, 112, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1144 { WWT_PANEL, RESIZE_NONE, 14, 113, 149, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1145 { WWT_PANEL, RESIZE_NONE, 14, 150, 186, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1146 { WWT_PANEL, RESIZE_NONE, 14, 187, 223, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1147 { WWT_PANEL, RESIZE_NONE, 14, 224, 260, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1148 { WWT_PANEL, RESIZE_NONE, 14, 261, 297, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1149 { WIDGETS_END}, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1150 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1151 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1152 static const WindowDesc _performance_rating_detail_desc = { |
7341
549c757023fc
(svn r10704) -Codechange: provide an infrastructure to have resizable windows that are smaller than the default window size.
rubidium <rubidium@openttd.org>
parents:
7266
diff
changeset
|
1153 WDP_AUTO, WDP_AUTO, 299, 228, 299, 228, |
5893
8547517ef719
(svn r8511) -Codechange: make WindowClass an enumerated value.
rubidium <rubidium@openttd.org>
parents:
5812
diff
changeset
|
1154 WC_PERFORMANCE_DETAIL, WC_NONE, |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1155 WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1156 _performance_rating_detail_widgets, |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1157 PerformanceRatingDetailWndProc |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1158 }; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1159 |
6247
57363e064324
(svn r9050) -Codechange: Foo(void) -> Foo()
rubidium <rubidium@openttd.org>
parents:
6203
diff
changeset
|
1160 void ShowPerformanceRatingDetail() |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1161 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1162 AllocateWindowDescFront(&_performance_rating_detail_desc, 0); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
1163 } |