Files
@ r8067:4e085739927f
Branch filter:
Location: cpp/openttd-patchpack/source/src/roadveh_gui.cpp
r8067:4e085739927f
3.4 KiB
text/x-c
(svn r11628) -Update: WebTranslator2 update to 2007-12-13 09:47:23
american - 30 fixed by WhiteRabbit (30)
brazilian_portuguese - 22 fixed by fukumori (9), tucalipe (13)
bulgarian - 8 fixed by thetitan (8)
catalan - 22 fixed by arnaullv (22)
croatian - 17 fixed by knovak (17)
czech - 22 fixed by Hadez (22)
danish - 1 fixed, 4 changed by Bjarni (5)
dutch - 22 fixed by habell (22)
estonian - 10 fixed by kristjans (10)
french - 7 fixed, 2 changed by glx (9)
italian - 7 fixed, 2 changed by lorenzodv (9)
japanese - 23 fixed by ickoonite (23)
korean - 33 fixed, 7 changed by leejaeuk5 (40)
norwegian_nynorsk - 9 fixed by pollux (9)
romanian - 13 fixed, 3 changed by CrystyB (16)
slovak - 22 fixed by lengyel (22)
slovenian - 22 fixed by Necrolyte (22)
swedish - 10 fixed by daishan (10)
turkish - 20 fixed by jnmbk (20)
ukrainian - 22 fixed by mad (22)
american - 30 fixed by WhiteRabbit (30)
brazilian_portuguese - 22 fixed by fukumori (9), tucalipe (13)
bulgarian - 8 fixed by thetitan (8)
catalan - 22 fixed by arnaullv (22)
croatian - 17 fixed by knovak (17)
czech - 22 fixed by Hadez (22)
danish - 1 fixed, 4 changed by Bjarni (5)
dutch - 22 fixed by habell (22)
estonian - 10 fixed by kristjans (10)
french - 7 fixed, 2 changed by glx (9)
italian - 7 fixed, 2 changed by lorenzodv (9)
japanese - 23 fixed by ickoonite (23)
korean - 33 fixed, 7 changed by leejaeuk5 (40)
norwegian_nynorsk - 9 fixed by pollux (9)
romanian - 13 fixed, 3 changed by CrystyB (16)
slovak - 22 fixed by lengyel (22)
slovenian - 22 fixed by Necrolyte (22)
swedish - 10 fixed by daishan (10)
turkish - 20 fixed by jnmbk (20)
ukrainian - 22 fixed by mad (22)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | /* $Id$ */
/** @file roadveh_gui.cpp */
#include "stdafx.h"
#include "openttd.h"
#include "debug.h"
#include "functions.h"
#include "roadveh.h"
#include "table/sprites.h"
#include "table/strings.h"
#include "window.h"
#include "gui.h"
#include "strings.h"
#include "vehicle.h"
#include "viewport.h"
#include "command.h"
#include "depot.h"
#include "vehicle_gui.h"
#include "newgrf_engine.h"
void DrawRoadVehDetails(const Vehicle *v, int x, int y)
{
uint y_offset = RoadVehHasArticPart(v) ? 15 :0;
StringID str;
SetDParam(0, v->engine_type);
SetDParam(1, v->build_year);
SetDParam(2, v->value);
DrawString(x, y + y_offset, STR_9011_BUILT_VALUE, TC_FROMSTRING);
if (RoadVehHasArticPart(v)) {
AcceptedCargo max_cargo;
char capacity[512];
memset(max_cargo, 0, sizeof(max_cargo));
for (const Vehicle *u = v; u != NULL; u = u->Next()) {
max_cargo[u->cargo_type] += u->cargo_cap;
}
GetString(capacity, STR_ARTICULATED_RV_CAPACITY, lastof(capacity));
bool first = true;
for (CargoID i = 0; i < NUM_CARGO; i++) {
if (max_cargo[i] > 0) {
char buffer[128];
SetDParam(0, i);
SetDParam(1, max_cargo[i]);
GetString(buffer, STR_BARE_CARGO, lastof(buffer));
if (!first) strecat(capacity, ", ", lastof(capacity));
strecat(capacity, buffer, lastof(capacity));
first = false;
}
}
SetDParamStr(0, capacity);
DrawStringTruncated(x, y + 10 + y_offset, STR_JUST_STRING, TC_BLUE, 380 - x);
for (const Vehicle *u = v; u != NULL; u = u->Next()) {
str = STR_8812_EMPTY;
if (!u->cargo.Empty()) {
SetDParam(0, u->cargo_type);
SetDParam(1, u->cargo.Count());
SetDParam(2, u->cargo.Source());
str = STR_8813_FROM;
}
DrawString(x, y + 21 + y_offset, str, TC_FROMSTRING);
y_offset += 11;
}
y_offset -= 11;
} else {
SetDParam(0, v->cargo_type);
SetDParam(1, v->cargo_cap);
DrawString(x, y + 10 + y_offset, STR_9012_CAPACITY, TC_FROMSTRING);
str = STR_8812_EMPTY;
if (!v->cargo.Empty()) {
SetDParam(0, v->cargo_type);
SetDParam(1, v->cargo.Count());
SetDParam(2, v->cargo.Source());
str = STR_8813_FROM;
}
DrawString(x, y + 21 + y_offset, str, TC_FROMSTRING);
}
/* Draw Transfer credits text */
SetDParam(0, v->cargo.FeederShare());
DrawString(x, y + 33 + y_offset, STR_FEEDER_CARGO_VALUE, TC_FROMSTRING);
}
static inline int RoadVehLengthToPixels(int length)
{
return (length * 28) / 8;
}
void DrawRoadVehImage(const Vehicle *v, int x, int y, int count, VehicleID selection)
{
/* Road vehicle lengths are measured in eighths of the standard length, so
* count is the number of standard vehicles that should be drawn. If it is
* 0, we draw enough vehicles for 10 standard vehicle lengths. */
int max_length = (count == 0) ? 80 : count * 8;
for (int dx = 0 ; v != NULL && dx < max_length ; dx += v->u.road.cached_veh_length, v = v->Next()) {
if (dx + v->u.road.cached_veh_length > 0 && dx <= max_length) {
SpriteID pal = (v->vehstatus & VS_CRASHED) ? PALETTE_CRASH : GetVehiclePalette(v);
DrawSprite(v->GetImage(DIR_W), pal, x + 14 + RoadVehLengthToPixels(dx), y + 6);
if (v->index == selection) {
DrawFrameRect(x - 1, y - 1, x + 28, y + 12, 15, FR_BORDERONLY);
}
}
}
}
void CcBuildRoadVeh(bool success, TileIndex tile, uint32 p1, uint32 p2)
{
const Vehicle *v;
if (!success) return;
v = GetVehicle(_new_vehicle_id);
if (v->tile == _backup_orders_tile) {
_backup_orders_tile = 0;
RestoreVehicleOrders(v);
}
ShowVehicleViewWindow(v);
}
|