Changeset - r4688:79829215ab33
[Not reviewed]
master
0 4 0
bjarni - 18 years ago 2006-09-30 21:23:34
bjarni@openttd.org
(svn r6593) -Fix: [depot window] added sprites to the buttons, that lacked one
Also changed the sprites on some of the other buttons to make the buttons consistent
Credits for this:
Drawing: skidd13 (first sprite copied/heavily inspired by Bot_40)
Grfencoding: peter1138
Coding to apply the new sprites: peter1138 (modified by me)
Ideas:
Born Acorn
MeusH
ValHallA|SW
XeryusTC
Sorry if I forgot to mention somebody
4 files changed with 43 insertions and 4 deletions:
0 comments (0 inline, 0 general)
data/openttd.grf
Show inline comments
 
binary diff not shown
depot_gui.c
Show inline comments
 
@@ -83,14 +83,14 @@ static const Widget _depot_widgets[] = {
 
	{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,            STR_018B_CLOSE_WINDOW},            // DEPOT_WIDGET_CLOSEBOX
 
	{    WWT_CAPTION,  RESIZE_RIGHT,    14,    11,   292,     0,    13, 0x0,                 STR_018C_WINDOW_TITLE_DRAG_THIS},  // DEPOT_WIDGET_CAPTION
 
	{  WWT_STICKYBOX,     RESIZE_LR,    14,   293,   304,     0,    13, 0x0,                 STR_STICKY_BUTTON},                // DEPOT_WIDGET_STICKY
 

	
 
	{ WWT_PUSHIMGBTN,     RESIZE_LR,    14,   270,   280,    14,    25, SPR_FLAG_VEH_STOPPED,STR_NULL},                         // DEPOT_WIDGET_STOP_ALL
 
	{ WWT_PUSHIMGBTN,     RESIZE_LR,    14,   281,   292,    14,    25, SPR_FLAG_VEH_RUNNING,STR_NULL},                         // DEPOT_WIDGET_START_ALL
 
	{     WWT_IMGBTN,    RESIZE_LRB,    14,   270,   292,    26,    49, 0x2A9,               STR_NULL},                         // DEPOT_WIDGET_SELL
 
	{      WWT_PANEL,   RESIZE_LRTB,    14,   326,   348,     0,     0, 0x2BF,               STR_DRAG_WHOLE_TRAIN_TO_SELL_TIP}, // DEPOT_WIDGET_SELL_CHAIN, trains only
 
	{     WWT_IMGBTN,    RESIZE_LRB,    14,   270,   292,    26,    49, 0x0,                 STR_NULL},                         // DEPOT_WIDGET_SELL
 
	{      WWT_PANEL,   RESIZE_LRTB,    14,   326,   348,     0,     0, SPR_SELL_CHAIN_TRAIN,STR_DRAG_WHOLE_TRAIN_TO_SELL_TIP}, // DEPOT_WIDGET_SELL_CHAIN, trains only
 
	{ WWT_PUSHIMGBTN,   RESIZE_LRTB,    14,   270,   292,    50,    72, 0x0,                 STR_NULL},                         // DEPOT_WIDGET_SELL_ALL
 

	
 
	{     WWT_MATRIX,     RESIZE_RB,    14,     0,   269,    14,    83, 0x0,                 STR_NULL},                         // DEPOT_WIDGET_MATRIX
 
	{  WWT_SCROLLBAR,    RESIZE_LRB,    14,   293,   304,    14,    83, 0x0,                 STR_0190_SCROLL_BAR_SCROLLS_LIST}, // DEPOT_WIDGET_V_SCROLL
 

	
 
	{ WWT_HSCROLLBAR,    RESIZE_RTB,    14,     0,   325,    98,   109, 0x0,                 STR_HSCROLL_BAR_SCROLLS_LIST},     // DEPOT_WIDGET_H_SCROLL, trains only
 
@@ -785,12 +785,16 @@ static void DepotWndProc(Window *w, Wind
 
			w->widget[DEPOT_WIDGET_MATRIX].data = (w->vscroll.cap << 8) + (WP(w, depot_d).type == VEH_Train ? 1 : w->hscroll.cap);
 
			ResizeDepotButtons(w);
 
			break;
 
	}
 
}
 

	
 
/* Function to set up vehicle specific sprites and strings
 
 * Only use this if it's the same widget, that's used for more than one vehicle type and it needs different text/sprites
 
 * Vehicle specific text/sprites, that's in a widget, that's only shown for one vehicle type (like sell whole train) is set in the widget array
 
 */
 
static void SetupStringsForDepotWindow(Window *w, byte type)
 
{
 
	switch (type) {
 
		case VEH_Train:
 
			w->widget[DEPOT_WIDGET_CAPTION].data      = STR_8800_TRAIN_DEPOT;
 
			w->widget[DEPOT_WIDGET_STOP_ALL].tooltips = STR_MASS_STOP_DEPOT_TRAIN_TIP;
 
@@ -805,12 +809,17 @@ static void SetupStringsForDepotWindow(W
 
			w->widget[DEPOT_WIDGET_CLONE].tooltips    = STR_CLONE_TRAIN_DEPOT_INFO;
 

	
 
			w->widget[DEPOT_WIDGET_LOCATION].tooltips = STR_8842_CENTER_MAIN_VIEW_ON_TRAIN;
 
			w->widget[DEPOT_WIDGET_VEHICLE_LIST].data = STR_TRAIN;
 
			w->widget[DEPOT_WIDGET_VEHICLE_LIST].tooltips = STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TIP;
 
			w->widget[DEPOT_WIDGET_AUTOREPLACE].tooltips = STR_DEPOT_AUTOREPLACE_TRAIN_TIP;
 

	
 
			/* Sprites */
 
			w->widget[DEPOT_WIDGET_SELL].data        = SPR_SELL_TRAIN;
 
			w->widget[DEPOT_WIDGET_SELL_ALL].data    = SPR_SELL_ALL_TRAIN;
 
			w->widget[DEPOT_WIDGET_AUTOREPLACE].data = SPR_REPLACE_TRAIN;
 
			break;
 

	
 
		case VEH_Road:
 
			w->widget[DEPOT_WIDGET_CAPTION].data      = STR_9003_ROAD_VEHICLE_DEPOT;
 
			w->widget[DEPOT_WIDGET_STOP_ALL].tooltips = STR_MASS_STOP_DEPOT_ROADVEH_TIP;
 
			w->widget[DEPOT_WIDGET_START_ALL].tooltips=	STR_MASS_START_DEPOT_ROADVEH_TIP;
 
@@ -824,12 +833,17 @@ static void SetupStringsForDepotWindow(W
 
			w->widget[DEPOT_WIDGET_CLONE].tooltips    = STR_CLONE_ROAD_VEHICLE_DEPOT_INFO;
 

	
 
			w->widget[DEPOT_WIDGET_LOCATION].tooltips = STR_9025_CENTER_MAIN_VIEW_ON_ROAD;
 
			w->widget[DEPOT_WIDGET_VEHICLE_LIST].data = STR_LORRY;
 
			w->widget[DEPOT_WIDGET_VEHICLE_LIST].tooltips = STR_DEPOT_VEHICLE_ORDER_LIST_ROADVEH_TIP;
 
			w->widget[DEPOT_WIDGET_AUTOREPLACE].tooltips = STR_DEPOT_AUTOREPLACE_ROADVEH_TIP;
 

	
 
			/* Sprites */
 
			w->widget[DEPOT_WIDGET_SELL].data        = SPR_SELL_ROADVEH;
 
			w->widget[DEPOT_WIDGET_SELL_ALL].data    = SPR_SELL_ALL_ROADVEH;
 
			w->widget[DEPOT_WIDGET_AUTOREPLACE].data = SPR_REPLACE_ROADVEH;
 
			break;
 

	
 
		case VEH_Ship:
 
			w->widget[DEPOT_WIDGET_CAPTION].data      = STR_9803_SHIP_DEPOT;
 
			w->widget[DEPOT_WIDGET_STOP_ALL].tooltips = STR_MASS_STOP_DEPOT_SHIP_TIP;
 
			w->widget[DEPOT_WIDGET_START_ALL].tooltips=	STR_MASS_START_DEPOT_SHIP_TIP;
 
@@ -843,12 +857,17 @@ static void SetupStringsForDepotWindow(W
 
			w->widget[DEPOT_WIDGET_CLONE].tooltips    = STR_CLONE_SHIP_DEPOT_INFO;
 

	
 
			w->widget[DEPOT_WIDGET_LOCATION].tooltips = STR_9822_CENTER_MAIN_VIEW_ON_SHIP;
 
			w->widget[DEPOT_WIDGET_VEHICLE_LIST].data = STR_SHIP;
 
			w->widget[DEPOT_WIDGET_VEHICLE_LIST].tooltips = STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TIP;
 
			w->widget[DEPOT_WIDGET_AUTOREPLACE].tooltips = STR_DEPOT_AUTOREPLACE_SHIP_TIP;
 

	
 
			/* Sprites */
 
			w->widget[DEPOT_WIDGET_SELL].data        = SPR_SELL_SHIP;
 
			w->widget[DEPOT_WIDGET_SELL_ALL].data    = SPR_SELL_ALL_SHIP;
 
			w->widget[DEPOT_WIDGET_AUTOREPLACE].data = SPR_REPLACE_SHIP;
 
			break;
 

	
 
		case VEH_Aircraft:
 
			w->widget[DEPOT_WIDGET_CAPTION].data      = STR_A002_AIRCRAFT_HANGAR;
 
			w->widget[DEPOT_WIDGET_STOP_ALL].tooltips = STR_MASS_STOP_HANGAR_TIP;
 
			w->widget[DEPOT_WIDGET_START_ALL].tooltips=	STR_MASS_START_HANGAR_TIP;
 
@@ -862,12 +881,17 @@ static void SetupStringsForDepotWindow(W
 
			w->widget[DEPOT_WIDGET_CLONE].tooltips    = STR_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW;
 

	
 
			w->widget[DEPOT_WIDGET_LOCATION].tooltips = STR_A024_CENTER_MAIN_VIEW_ON_HANGAR;
 
			w->widget[DEPOT_WIDGET_VEHICLE_LIST].data = STR_PLANE;
 
			w->widget[DEPOT_WIDGET_VEHICLE_LIST].tooltips = STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TIP;
 
			w->widget[DEPOT_WIDGET_AUTOREPLACE].tooltips = STR_DEPOT_AUTOREPLACE_AIRCRAFT_TIP;
 

	
 
			/* Sprites */
 
			w->widget[DEPOT_WIDGET_SELL].data        = SPR_SELL_AIRCRAFT;
 
			w->widget[DEPOT_WIDGET_SELL_ALL].data    = SPR_SELL_ALL_AIRCRAFT;
 
			w->widget[DEPOT_WIDGET_AUTOREPLACE].data = SPR_REPLACE_AIRCRAFT;
 
			break;
 
	}
 
}
 

	
 
/** Opens a depot window
 
 * @param tile The tile where the depot/hangar is located
gfxinit.c
Show inline comments
 
@@ -262,13 +262,13 @@ static const SpriteID trg1idx[] = {
 

	
 
/* NOTE: When adding a normal sprite, increase OPENTTD_SPRITES_COUNT with the
 
 * amount of sprites and add them to the end of the list, with the index of
 
 * the old sprite-count offset from SPR_OPENTTD_BASE. With this there is no
 
 * correspondence of any kind with the ID's in the grf file, but results in
 
 * a maximum use of sprite slots. */
 
#define OPENTTD_SPRITES_COUNT 95
 
#define OPENTTD_SPRITES_COUNT 109
 
static const SpriteID _openttd_grf_indexes[] = {
 
	SPR_IMG_AUTORAIL, SPR_CURSOR_WAYPOINT, // icons etc
 
	134, 134,  // euro symbol medium size
 
	582, 582,  // euro symbol large size
 
	358, 358,  // euro symbol tiny
 
	SPR_CURSOR_CANAL, SPR_IMG_FASTFORWARD, // more icons
 
@@ -306,12 +306,13 @@ static const SpriteID _openttd_grf_index
 
	585, 585, // § large
 
	587, 587, // © large
 
	592, 592, // ® large
 
	594, 597, // ° ± ² ³ large
 
	633, 633, // × large
 
	665, 665, // ÷ large
 
	SPR_SELL_TRAIN, SPR_SELL_CHAIN_TRAIN,
 
	END
 
};
 

	
 
static byte _sprite_page_to_load = 0xFF;
 

	
 
static void LoadSpriteTables(void)
table/sprites.h
Show inline comments
 
@@ -72,18 +72,32 @@ enum Sprites {
 
	/* Clone vehicles stuff */
 
	SPR_CLONE_AIRCRAFT = SPR_OPENTTD_BASE + 92,
 
	SPR_CLONE_ROADVEH  = SPR_OPENTTD_BASE + 92,
 
	SPR_CLONE_SHIP     = SPR_OPENTTD_BASE + 92,
 
	SPR_CLONE_TRAIN    = SPR_OPENTTD_BASE + 92,
 

	
 
	SPR_SELL_TRAIN        = SPR_OPENTTD_BASE + 96,
 
	SPR_SELL_ROADVEH      = SPR_OPENTTD_BASE + 97,
 
	SPR_SELL_SHIP         = SPR_OPENTTD_BASE + 98,
 
	SPR_SELL_AIRCRAFT     = SPR_OPENTTD_BASE + 99,
 
	SPR_SELL_ALL_TRAIN    = SPR_OPENTTD_BASE + 100,
 
	SPR_SELL_ALL_ROADVEH  = SPR_OPENTTD_BASE + 101,
 
	SPR_SELL_ALL_SHIP     = SPR_OPENTTD_BASE + 102,
 
	SPR_SELL_ALL_AIRCRAFT = SPR_OPENTTD_BASE + 103,
 
	SPR_REPLACE_TRAIN     = SPR_OPENTTD_BASE + 104,
 
	SPR_REPLACE_ROADVEH   = SPR_OPENTTD_BASE + 105,
 
	SPR_REPLACE_SHIP      = SPR_OPENTTD_BASE + 106,
 
	SPR_REPLACE_AIRCRAFT  = SPR_OPENTTD_BASE + 107,
 
	SPR_SELL_CHAIN_TRAIN  = SPR_OPENTTD_BASE + 108,
 

	
 
	/* Network GUI sprites */
 
	SPR_SQUARE = SPR_OPENTTD_BASE + 20,     // colored square (used for newgrf compatibility)
 
	SPR_LOCK = SPR_OPENTTD_BASE + 19,       // lock icon (for password protected servers)
 
	SPR_FLAGS_BASE = SPR_OPENTTD_BASE + 83, // start of the flags block (in same order as enum NetworkLanguage)
 

	
 
	SPR_AIRPORTX_BASE = SPR_OPENTTD_BASE + 95, // The sprites used for other airport angles
 
	SPR_AIRPORTX_BASE = SPR_OPENTTD_BASE + 109, // The sprites used for other airport angles
 
	SPR_NEWAIRPORT_TARMAC = SPR_AIRPORTX_BASE,
 
	SPR_NSRUNWAY1 = SPR_AIRPORTX_BASE + 1,
 
	SPR_NSRUNWAY2 = SPR_AIRPORTX_BASE + 2,
 
	SPR_NSRUNWAY3 = SPR_AIRPORTX_BASE + 3,
 
	SPR_NSRUNWAY4 = SPR_AIRPORTX_BASE + 4,
 
	SPR_NSRUNWAY_END = SPR_AIRPORTX_BASE + 5,
0 comments (0 inline, 0 general)