Mercurial > hg > openttd
annotate src/ship_gui.cpp @ 7530:614aeff92fd3 draft
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Wed, 05 Sep 2007 23:26:45 +0000 |
parents | 307a03e3f031 |
children | e6f32e659811 |
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 |
6420
080aae477331
(svn r9556) -Documentation: doxygen and comment-style changes. 'R', 'S'.. The end of the preliminary work is near
belugas <belugas@openttd.org>
parents:
6198
diff
changeset
|
3 /** @file ship_gui.cpp */ |
080aae477331
(svn r9556) -Documentation: doxygen and comment-style changes. 'R', 'S'.. The end of the preliminary work is near
belugas <belugas@openttd.org>
parents:
6198
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 "debug.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 "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
|
9 #include "ship.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 "table/strings.h" |
7266
550b96f71f7f
(svn r10587) -Codechange: move the string/dparam related stuff from variables.h to strings.h
rubidium <rubidium@openttd.org>
parents:
7219
diff
changeset
|
11 #include "strings.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 "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
|
13 #include "gui.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 "vehicle.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 "viewport.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 "command.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
17 #include "depot.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
18 #include "vehicle_gui.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
19 #include "newgrf_engine.h" |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
20 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
21 void DrawShipImage(const Vehicle *v, int x, int y, VehicleID selection) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
22 { |
7134
e1c4f52f82cd
(svn r10408) -Codechange: make GetImage a class method of Vehicle instead of Get(Aircraft|RoadVeh|Ship|Train)Image.
rubidium <rubidium@openttd.org>
parents:
7063
diff
changeset
|
23 DrawSprite(v->GetImage(DIR_W), GetVehiclePalette(v), x + 32, y + 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
|
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 if (v->index == selection) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
26 DrawFrameRect(x - 5, y - 1, x + 67, y + 21, 15, FR_BORDERONLY); |
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 } |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
29 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
30 void CcBuildShip(bool success, TileIndex tile, uint32 p1, uint32 p2) |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
31 { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
32 const Vehicle *v; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
33 if (!success) return; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
34 |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
35 v = GetVehicle(_new_vehicle_id); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
36 if (v->tile == _backup_orders_tile) { |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
37 _backup_orders_tile = 0; |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
38 RestoreVehicleOrders(v, _backup_orders_data); |
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
39 } |
7486
1af81beda3fb
(svn r10997) -Codechange: unify the vehicle view window. Patch by PhilSophus.
rubidium <rubidium@openttd.org>
parents:
7484
diff
changeset
|
40 ShowVehicleViewWindow(v); |
5584
4b26bd55bd24
(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp)
KUDr <KUDr@openttd.org>
parents:
diff
changeset
|
41 } |
7530
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
42 |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
43 /** |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
44 * Draw the details for the given vehicle at the position (x,y) |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
45 * |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
46 * @param v current vehicle |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
47 * @param x The x coordinate |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
48 * @param y The y coordinate |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
49 */ |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
50 void DrawShipDetails(const Vehicle *v, int x, int y) |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
51 { |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
52 SetDParam(0, v->engine_type); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
53 SetDParam(1, v->build_year); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
54 SetDParam(2, v->value); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
55 DrawString(x, y, STR_9816_BUILT_VALUE, 0); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
56 |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
57 SetDParam(0, v->cargo_type); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
58 SetDParam(1, v->cargo_cap); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
59 DrawString(x, y + 10, STR_9817_CAPACITY, 0); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
60 |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
61 StringID str = STR_8812_EMPTY; |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
62 if (!v->cargo.Empty()) { |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
63 SetDParam(0, v->cargo_type); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
64 SetDParam(1, v->cargo.Count()); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
65 SetDParam(2, v->cargo.Source()); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
66 str = STR_8813_FROM; |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
67 } |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
68 DrawString(x, y + 21, str, 0); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
69 |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
70 /* Draw Transfer credits text */ |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
71 SetDParam(0, v->cargo.FeederShare()); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
72 DrawString(x, y + 33, STR_FEEDER_CARGO_VALUE, 0); |
614aeff92fd3
(svn r11049) -Codechange: unify a large part of the vehicle details window. Based on a patch by nycom.
rubidium <rubidium@openttd.org>
parents:
7488
diff
changeset
|
73 } |