From 37ddda749a750a3b98b08a7374b852ee19957946 Mon Sep 17 00:00:00 2001 From: bjarni Date: Sat, 30 Sep 2006 21:23:34 +0000 Subject: [PATCH] (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 --- data/openttd.grf | Bin 25704 -> 28153 bytes depot_gui.c | 28 ++++++++++++++++++++++++++-- gfxinit.c | 3 ++- table/sprites.h | 16 +++++++++++++++- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/data/openttd.grf b/data/openttd.grf index 6204dd1b0bc92be40b7a2bea7f146486ceff6df9..5674a4b387511c95e1c2175c62dae3ae57fffcb0 100644 GIT binary patch delta 2282 zcmbW2OKcle6ox$yPg0MoLT84SQdKRejWY&Oy5JFpI5bqK57C-JNdXZ*l0dUSqC$ld zwSd}!ZviQYjVpw3oC>)Mq^V*fXEy~AUwdLStnNjyxY?bE_o53ng)?>~Hm#3u|WBE)bpT!SYbca%7S-2gx3yltFbBt%RSx|%~ zak>oOi_t)viHLOm{r zrWAJO9GJZe4aOP`+N7VzXDx1O4Lr>jeNd(?$o94t!_zL(gKE=fF^EQezt!|TQ(=j% zFfKN~CnemUWHv(Igw2sza1+LEm>y~YiCnt#|kJ6o$VR;_~N8XBur=jIqF?iW%G67t+!$p9x>i^pSE zg;Oy#Ju$*3w-wFaSYmR^2ro=-yC7*>M+&^aXUwI3`1V4A93?N1S1!Nx4-vy#oi<}f2k#jWCFa$N6rDNN{O^W(vB7h7yMgd=9W(i&E5(Rhruimt1(c6+g*Uu`V5+Z7A$ zlbbD}6@O6mmaiArYZ11VEw&;0zRABM_s7Vi%izeaFON5 z5w*b5La^B90!!!#!5W(w1KZmHeLdOCSZ*wr<2HR(%V!uvuJGb1c8O^5v=|k~#2FdU zN^_%b(KNnW+*L@!Q8kwzpD3oK&qcpvjkP4nd`b1V;piLwquw>TcFT*AnrMARqS{#=e{B$ABXNzg2<@-=Brp0>M zUku)J%W|XfFq{s42+G{V+Dqj>8UE~V7+%`Gyi-bCN=hRXkl@2to>|30iA0!CMKsX3 zp}oo?I0I}7cb-~NWELB=Du#m8LK19uhlPZN{%IH5=_*J!he*u21${i zhPWn@UD~NrPewbiyC%MEvctM-iX+hu>?LFAiKTm{%@xd5oCgQ;Vu7LgEr#QWTjlOF zah*j%s<_E}kbL1B1EKfZAgCg4=P#0RAqf4}~v z7?gB4CF_30@=|i6?b`4QPbqX~t5{E=GE!=|7OsuIZ!WKy-|+R_3a&-vF9J~=4=Ngx>0c)r*Jc@SBHn4NM(cS?AbFcZjqg#lEt^n&Tz$q+eJbi8iJH-KwjD- zo~$3^+xg>S3oprROgQrJFer6H!Ics3NJEtY+@o+|#GOhm&*(t>x{MvPb6|FM2G+t& zsN*|tWSyRX!SFHyZN49Lu?~rUgd8S0@)CJNiu|9zDs!CG#Bi8@+^Mu1*)x zd&m9T)o(~mKSrZ>GrNX7JKJp;3~aJG2j|f{b*`}5ERx)Dbx+6D)oSs& ztNXjM?(kc2dLyiBYxMdInhKO@lRQHv$;m5)|J8B)hP0)Xq>jwm-K0H{uDjv9#OiES z-cBg*C?X!(yYzdMt>}Bxb$?G=Fa*)R`O90?-+vXjNO{jnc{&;!rM{S9x!HgOa0p`S|oJ=d$&)BK3EKN$DYbR<~5cRKA|D>+_So!Yl=A1I(nQ*=CZ b_SDo==PUPqop&y$n!B5O$!kp#>6||R4Wl6F delta 16 Ucmex)oAJd7#tlg+Yz$xk06$U%0{{R3 diff --git a/depot_gui.c b/depot_gui.c index a302c6f6ac..f2f2e205e5 100644 --- a/depot_gui.c +++ b/depot_gui.c @@ -86,8 +86,8 @@ static const Widget _depot_widgets[] = { { 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 @@ -788,6 +788,10 @@ static void DepotWndProc(Window *w, WindowEvent *e) } } +/* 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) { @@ -808,6 +812,11 @@ static void SetupStringsForDepotWindow(Window *w, byte type) 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: @@ -827,6 +836,11 @@ static void SetupStringsForDepotWindow(Window *w, byte type) 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: @@ -846,6 +860,11 @@ static void SetupStringsForDepotWindow(Window *w, byte type) 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: @@ -865,6 +884,11 @@ static void SetupStringsForDepotWindow(Window *w, byte type) 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; } } diff --git a/gfxinit.c b/gfxinit.c index 9fd6825c5a..97e0c7cbde 100644 --- a/gfxinit.c +++ b/gfxinit.c @@ -265,7 +265,7 @@ static const SpriteID trg1idx[] = { * 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 @@ -309,6 +309,7 @@ static const SpriteID _openttd_grf_indexes[] = { 594, 597, // ° ± ² ³ large 633, 633, // × large 665, 665, // ÷ large + SPR_SELL_TRAIN, SPR_SELL_CHAIN_TRAIN, END }; diff --git a/table/sprites.h b/table/sprites.h index 6aa982f378..67e31cecb8 100644 --- a/table/sprites.h +++ b/table/sprites.h @@ -75,12 +75,26 @@ enum Sprites { 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,