engine_gui.c
author miham
Wed, 17 Aug 2005 12:30:07 +0000
changeset 2349 df02d0ffb588
parent 2218 abd47ef7d902
child 2436 177cb6a8339f
permissions -rw-r--r--
(svn r2875) [translations] Restored langfiles (f*cked up at 2874, sorry (problem fixed))
2186
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2163
diff changeset
     1
/* $Id$ */
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2163
diff changeset
     2
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     3
#include "stdafx.h"
1891
92a3b0aa0946 (svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.
Darkvater
parents: 1095
diff changeset
     4
#include "openttd.h"
507
8aa8100b0b22 (svn r815) Include strings.h only in the files which need it.
tron
parents: 460
diff changeset
     5
#include "table/strings.h"
2218
abd47ef7d902 (svn r2736) -Codechange: De-mystified GfxDrawFillRect a bit, and used enums from table/sprites.h. You can now change the number of bits used for sprites and switches in the SpriteSetup enum and the rest should work automagically. Can be used to increase the number of active sprites to 2^19 in case there are no colortables (recolor sprites) in any newgrf. We should possibly move the the colortables to an own list, but how to detect them in a newgrf.
celestar
parents: 2186
diff changeset
     6
#include "table/sprites.h"
2163
637ec3c361f5 (svn r2673) Include functions.h directly, not globally via openttd.h
tron
parents: 2159
diff changeset
     7
#include "functions.h"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     8
#include "window.h"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     9
#include "gui.h"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    10
#include "viewport.h"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    11
#include "gfx.h"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    12
#include "engine.h"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    13
#include "command.h"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    14
#include "news.h"
2159
3b634157c3b2 (svn r2669) Shuffle some more stuff around to reduce dependencies
tron
parents: 2084
diff changeset
    15
#include "variables.h"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    16
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    17
1095
90220990fd7c (svn r1596) Add some more statics
tron
parents: 1009
diff changeset
    18
static StringID GetEngineCategoryName(byte engine)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    19
{
460
f11659d28617 (svn r677) -newgrf: Fix some custom electric trains appearing in maglev depots (pasky).
darkvater
parents: 193
diff changeset
    20
	if (engine < NUM_TRAIN_ENGINES) {
1926
68d60188a22f (svn r2432) Use GetEngine() instead of DEREF_ENGINE() or even _engines[]
tron
parents: 1891
diff changeset
    21
		switch (GetEngine(engine)->railtype) {
460
f11659d28617 (svn r677) -newgrf: Fix some custom electric trains appearing in maglev depots (pasky).
darkvater
parents: 193
diff changeset
    22
			case 0:
f11659d28617 (svn r677) -newgrf: Fix some custom electric trains appearing in maglev depots (pasky).
darkvater
parents: 193
diff changeset
    23
				return STR_8102_RAILROAD_LOCOMOTIVE;
f11659d28617 (svn r677) -newgrf: Fix some custom electric trains appearing in maglev depots (pasky).
darkvater
parents: 193
diff changeset
    24
			case 1:
f11659d28617 (svn r677) -newgrf: Fix some custom electric trains appearing in maglev depots (pasky).
darkvater
parents: 193
diff changeset
    25
				return STR_8106_MONORAIL_LOCOMOTIVE;
f11659d28617 (svn r677) -newgrf: Fix some custom electric trains appearing in maglev depots (pasky).
darkvater
parents: 193
diff changeset
    26
			case 2:
f11659d28617 (svn r677) -newgrf: Fix some custom electric trains appearing in maglev depots (pasky).
darkvater
parents: 193
diff changeset
    27
				return STR_8107_MAGLEV_LOCOMOTIVE;
f11659d28617 (svn r677) -newgrf: Fix some custom electric trains appearing in maglev depots (pasky).
darkvater
parents: 193
diff changeset
    28
		}
f11659d28617 (svn r677) -newgrf: Fix some custom electric trains appearing in maglev depots (pasky).
darkvater
parents: 193
diff changeset
    29
	}
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    30
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    31
	if (engine < NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    32
		return STR_8103_ROAD_VEHICLE;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    33
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    34
	if (engine < NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    35
		return STR_8105_SHIP;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    36
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    37
	return STR_8104_AIRCRAFT;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    38
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    39
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    40
static const Widget _engine_preview_widgets[] = {
867
581154a08a78 (svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents: 534
diff changeset
    41
{    WWT_TEXTBTN,   RESIZE_NONE,     5,     0,    10,     0,    13, STR_00C5,			STR_018B_CLOSE_WINDOW},
581154a08a78 (svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents: 534
diff changeset
    42
{    WWT_CAPTION,   RESIZE_NONE,     5,    11,   299,     0,    13, STR_8100_MESSAGE_FROM_VEHICLE_MANUFACTURE, STR_018C_WINDOW_TITLE_DRAG_THIS},
581154a08a78 (svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents: 534
diff changeset
    43
{     WWT_IMGBTN,   RESIZE_NONE,     5,     0,   299,    14,   191, 0x0,						STR_NULL},
581154a08a78 (svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents: 534
diff changeset
    44
{ WWT_PUSHTXTBTN,   RESIZE_NONE,     5,    85,   144,   172,   183, STR_00C9_NO,		STR_NULL},
581154a08a78 (svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents: 534
diff changeset
    45
{ WWT_PUSHTXTBTN,   RESIZE_NONE,     5,   155,   214,   172,   183, STR_00C8_YES,	STR_NULL},
176
84990c4b9212 (svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents: 0
diff changeset
    46
{   WIDGETS_END},
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    47
};
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    48
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    49
typedef void DrawEngineProc(int x, int y, int engine, uint32 image_ormod);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    50
typedef void DrawEngineInfoProc(int x, int y, int engine, int maxw);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    51
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    52
typedef struct DrawEngineInfo {
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    53
	DrawEngineProc *engine_proc;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    54
	DrawEngineInfoProc *info_proc;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    55
} DrawEngineInfo;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    56
1998
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
    57
static void DrawTrainEngineInfo(int engine, int x, int y, int maxw);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
    58
static void DrawRoadVehEngineInfo(int engine, int x, int y, int maxw);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
    59
static void DrawShipEngineInfo(int engine, int x, int y, int maxw);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
    60
static void DrawAircraftEngineInfo(int engine, int x, int y, int maxw);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
    61
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    62
static const DrawEngineInfo _draw_engine_list[4] = {
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    63
	{DrawTrainEngine,DrawTrainEngineInfo},
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    64
	{DrawRoadVehEngine,DrawRoadVehEngineInfo},
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    65
	{DrawShipEngine,DrawShipEngineInfo},
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    66
	{DrawAircraftEngine,DrawAircraftEngineInfo},
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    67
};
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    68
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    69
static void EnginePreviewWndProc(Window *w, WindowEvent *e)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    70
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    71
	byte eng;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    72
	int engine;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    73
	const DrawEngineInfo *dei;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    74
	int width;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    75
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    76
	switch(e->event) {
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    77
	case WE_PAINT:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    78
		DrawWindowWidgets(w);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    79
		engine = w->window_number;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    80
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
    81
		SetDParam(0, GetEngineCategoryName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    82
		DrawStringMultiCenter(150, 44, STR_8101_WE_HAVE_JUST_DESIGNED_A, 296);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    83
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    84
		DrawStringCentered(w->width >> 1, 80, GetCustomEngineName(engine), 0x10);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    85
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    86
		eng = (byte)engine;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    87
		(dei = _draw_engine_list,eng < NUM_TRAIN_ENGINES) ||
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    88
		(dei++,eng < NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES) ||
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    89
		(dei++,eng < NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES) ||
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    90
		(dei++, true);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    91
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    92
		width = w->width;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    93
		dei->engine_proc(width >> 1, 100, engine, 0);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    94
		dei->info_proc(engine, width >> 1, 130, width - 52);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    95
		break;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    96
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    97
	case WE_CLICK:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    98
		switch(e->click.widget) {
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    99
		case 3: DeleteWindow(w); break;
193
0a7025304867 (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents: 176
diff changeset
   100
		case 4:
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   101
			DoCommandP(0, w->window_number, 0, NULL, CMD_WANT_ENGINE_PREVIEW);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   102
			DeleteWindow(w);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   103
			break;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   104
		}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   105
		break;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   106
	}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   107
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   108
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   109
static const WindowDesc _engine_preview_desc = {
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   110
	WDP_CENTER, WDP_CENTER, 300, 192,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   111
	WC_ENGINE_PREVIEW,0,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   112
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   113
	_engine_preview_widgets,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   114
	EnginePreviewWndProc
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   115
};
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   116
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   117
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   118
void ShowEnginePreviewWindow(int engine)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   119
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   120
	Window *w;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   121
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   122
	w = AllocateWindowDesc(&_engine_preview_desc);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   123
	w->window_number = engine;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   124
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   125
1998
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   126
static void DrawTrainEngineInfo(int engine, int x, int y, int maxw)
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   127
{
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   128
	const RailVehicleInfo *rvi = RailVehInfo(engine);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   129
	int cap;
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   130
	uint multihead = (rvi->flags & RVI_MULTIHEAD) ? 1 : 0;
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   131
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   132
	SetDParam(0, (_price.build_railvehicle >> 3) * rvi->base_cost >> 5);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   133
	SetDParam(2, rvi->max_speed * 10 >> 4);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   134
	SetDParam(3, rvi->power << multihead);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   135
	SetDParam(1, rvi->weight << multihead);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   136
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   137
	SetDParam(4, rvi->running_cost_base * _price.running_rail[rvi->engclass] >> 8 << multihead);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   138
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   139
	cap = rvi->capacity;
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   140
	SetDParam(5, STR_8838_N_A);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   141
	if (cap != 0) {
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   142
		SetDParam(6, cap << multihead);
2084
d67790a49f78 (svn r2594) Fix: [strgen] Misc updates to the string system.
ludde
parents: 1998
diff changeset
   143
		SetDParam(5, _cargoc.names_long[rvi->cargo_type]);
1998
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   144
	}
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   145
	DrawStringMultiCenter(x, y, STR_885B_COST_WEIGHT_T_SPEED_POWER, maxw);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   146
}
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   147
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   148
void DrawNewsNewTrainAvail(Window *w)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   149
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   150
	int engine;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   151
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   152
	DrawNewsBorder(w);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   153
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   154
	engine = WP(w,news_d).ni->string_id;
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   155
	SetDParam(0, GetEngineCategoryName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   156
	DrawStringMultiCenter(w->width >> 1, 20, STR_8859_NEW_NOW_AVAILABLE, w->width - 2);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   157
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   158
	GfxFillRect(25, 56, w->width - 25, w->height - 2, 10);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   159
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   160
	SetDParam(0, GetCustomEngineName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   161
	DrawStringMultiCenter(w->width >> 1, 57, STR_885A, w->width - 2);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   162
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   163
	DrawTrainEngine(w->width >> 1, 88, engine, 0);
2218
abd47ef7d902 (svn r2736) -Codechange: De-mystified GfxDrawFillRect a bit, and used enums from table/sprites.h. You can now change the number of bits used for sprites and switches in the SpriteSetup enum and the rest should work automagically. Can be used to increase the number of active sprites to 2^19 in case there are no colortables (recolor sprites) in any newgrf. We should possibly move the the colortables to an own list, but how to detect them in a newgrf.
celestar
parents: 2186
diff changeset
   164
	GfxFillRect(25, 56, w->width - 56, 112, 0x323 | USE_COLORTABLE);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   165
	DrawTrainEngineInfo(engine, w->width >> 1, 129, w->width - 52);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   166
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   167
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   168
StringID GetNewsStringNewTrainAvail(NewsItem *ni)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   169
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   170
	int engine = ni->string_id;
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   171
	SetDParam(0, STR_8859_NEW_NOW_AVAILABLE);
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   172
	SetDParam(1, GetEngineCategoryName(engine));
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   173
	SetDParam(2, GetCustomEngineName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   174
	return STR_02B6;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   175
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   176
1998
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   177
static void DrawAircraftEngineInfo(int engine, int x, int y, int maxw)
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   178
{
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   179
	const AircraftVehicleInfo *avi = AircraftVehInfo(engine);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   180
	SetDParam(0, (_price.aircraft_base >> 3) * avi->base_cost >> 5);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   181
	SetDParam(1, avi->max_speed << 3);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   182
	SetDParam(2, avi->passenger_capacity);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   183
	SetDParam(3, avi->mail_capacity);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   184
	SetDParam(4, avi->running_cost * _price.aircraft_running >> 8);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   185
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   186
	DrawStringMultiCenter(x, y, STR_A02E_COST_MAX_SPEED_CAPACITY, maxw);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   187
}
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   188
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   189
void DrawNewsNewAircraftAvail(Window *w)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   190
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   191
	int engine;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   192
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   193
	DrawNewsBorder(w);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   194
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   195
	engine = WP(w,news_d).ni->string_id;
193
0a7025304867 (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents: 176
diff changeset
   196
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   197
	DrawStringMultiCenter(w->width >> 1, 20, STR_A02C_NEW_AIRCRAFT_NOW_AVAILABLE, w->width - 2);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   198
	GfxFillRect(25, 56, w->width - 25, w->height - 2, 10);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   199
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   200
	SetDParam(0, GetCustomEngineName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   201
	DrawStringMultiCenter(w->width >> 1, 57, STR_A02D, w->width - 2);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   202
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   203
	DrawAircraftEngine(w->width >> 1, 93, engine, 0);
2218
abd47ef7d902 (svn r2736) -Codechange: De-mystified GfxDrawFillRect a bit, and used enums from table/sprites.h. You can now change the number of bits used for sprites and switches in the SpriteSetup enum and the rest should work automagically. Can be used to increase the number of active sprites to 2^19 in case there are no colortables (recolor sprites) in any newgrf. We should possibly move the the colortables to an own list, but how to detect them in a newgrf.
celestar
parents: 2186
diff changeset
   204
	GfxFillRect(25, 56, w->width - 56, 110, 0x323 | USE_COLORTABLE);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   205
	DrawAircraftEngineInfo(engine, w->width >> 1, 131, w->width - 52);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   206
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   207
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   208
StringID GetNewsStringNewAircraftAvail(NewsItem *ni)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   209
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   210
	int engine = ni->string_id;
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   211
	SetDParam(0, STR_A02C_NEW_AIRCRAFT_NOW_AVAILABLE);
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   212
	SetDParam(1, GetCustomEngineName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   213
	return STR_02B6;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   214
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   215
1998
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   216
static void DrawRoadVehEngineInfo(int engine, int x, int y, int maxw)
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   217
{
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   218
	const RoadVehicleInfo *rvi = RoadVehInfo(engine);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   219
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   220
	SetDParam(0, (_price.roadveh_base >> 3) * rvi->base_cost >> 5);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   221
	SetDParam(1, rvi->max_speed * 10 >> 5);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   222
	SetDParam(2, rvi->running_cost * _price.roadveh_running >> 8);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   223
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   224
	SetDParam(4, rvi->capacity);
2084
d67790a49f78 (svn r2594) Fix: [strgen] Misc updates to the string system.
ludde
parents: 1998
diff changeset
   225
	SetDParam(3, _cargoc.names_long[rvi->cargo_type]);
1998
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   226
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   227
	DrawStringMultiCenter(x, y, STR_902A_COST_SPEED_RUNNING_COST, maxw);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   228
}
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   229
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   230
void DrawNewsNewRoadVehAvail(Window *w)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   231
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   232
	int engine;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   233
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   234
	DrawNewsBorder(w);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   235
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   236
	engine = WP(w,news_d).ni->string_id;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   237
	DrawStringMultiCenter(w->width >> 1, 20, STR_9028_NEW_ROAD_VEHICLE_NOW_AVAILABLE, w->width - 2);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   238
	GfxFillRect(25, 56, w->width - 25, w->height - 2, 10);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   239
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   240
	SetDParam(0, GetCustomEngineName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   241
	DrawStringMultiCenter(w->width >> 1, 57, STR_9029, w->width - 2);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   242
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   243
	DrawRoadVehEngine(w->width >> 1, 88, engine, 0);
2218
abd47ef7d902 (svn r2736) -Codechange: De-mystified GfxDrawFillRect a bit, and used enums from table/sprites.h. You can now change the number of bits used for sprites and switches in the SpriteSetup enum and the rest should work automagically. Can be used to increase the number of active sprites to 2^19 in case there are no colortables (recolor sprites) in any newgrf. We should possibly move the the colortables to an own list, but how to detect them in a newgrf.
celestar
parents: 2186
diff changeset
   244
	GfxFillRect(25, 56, w->width - 56, 112, 0x323 | USE_COLORTABLE);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   245
	DrawRoadVehEngineInfo(engine, w->width >> 1, 129, w->width - 52);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   246
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   247
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   248
StringID GetNewsStringNewRoadVehAvail(NewsItem *ni)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   249
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   250
	int engine = ni->string_id;
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   251
	SetDParam(0, STR_9028_NEW_ROAD_VEHICLE_NOW_AVAILABLE);
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   252
	SetDParam(1, GetCustomEngineName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   253
	return STR_02B6;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   254
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   255
1998
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   256
static void DrawShipEngineInfo(int engine, int x, int y, int maxw)
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   257
{
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   258
	const ShipVehicleInfo *svi = ShipVehInfo(engine);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   259
	SetDParam(0, svi->base_cost * (_price.ship_base >> 3) >> 5);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   260
	SetDParam(1, svi->max_speed * 10 >> 5);
2084
d67790a49f78 (svn r2594) Fix: [strgen] Misc updates to the string system.
ludde
parents: 1998
diff changeset
   261
	SetDParam(2, _cargoc.names_long[svi->cargo_type]);
1998
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   262
	SetDParam(3, svi->capacity);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   263
	SetDParam(4, svi->running_cost * _price.ship_running >> 8);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   264
	DrawStringMultiCenter(x, y, STR_982E_COST_MAX_SPEED_CAPACITY, maxw);
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   265
}
849933cfa8de (svn r2504) Move Draw*EngineInfo to engine_gui.c to reduce dependencies
tron
parents: 1926
diff changeset
   266
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   267
void DrawNewsNewShipAvail(Window *w)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   268
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   269
	int engine;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   270
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   271
	DrawNewsBorder(w);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   272
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   273
	engine = WP(w,news_d).ni->string_id;
193
0a7025304867 (svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents: 176
diff changeset
   274
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   275
	DrawStringMultiCenter(w->width >> 1, 20, STR_982C_NEW_SHIP_NOW_AVAILABLE, w->width - 2);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   276
	GfxFillRect(25, 56, w->width - 25, w->height - 2, 10);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   277
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   278
	SetDParam(0, GetCustomEngineName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   279
	DrawStringMultiCenter(w->width >> 1, 57, STR_982D, w->width - 2);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   280
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   281
	DrawShipEngine(w->width >> 1, 93, engine, 0);
2218
abd47ef7d902 (svn r2736) -Codechange: De-mystified GfxDrawFillRect a bit, and used enums from table/sprites.h. You can now change the number of bits used for sprites and switches in the SpriteSetup enum and the rest should work automagically. Can be used to increase the number of active sprites to 2^19 in case there are no colortables (recolor sprites) in any newgrf. We should possibly move the the colortables to an own list, but how to detect them in a newgrf.
celestar
parents: 2186
diff changeset
   282
	GfxFillRect(25, 56, w->width - 56, 110, 0x323 | USE_COLORTABLE);
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   283
	DrawShipEngineInfo(engine, w->width >> 1, 131, w->width - 52);
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   284
}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   285
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   286
StringID GetNewsStringNewShipAvail(NewsItem *ni)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   287
{
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   288
	int engine = ni->string_id;
534
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   289
	SetDParam(0, STR_982C_NEW_SHIP_NOW_AVAILABLE);
17ab2f22ff74 (svn r901) Small step in the process to clean up the DPARAM mess:
tron
parents: 507
diff changeset
   290
	SetDParam(1, GetCustomEngineName(engine));
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   291
	return STR_02B6;
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   292
}