(svn r1323) Adding autoreplace feature

This feature works much like autorenew, but it will get you a new engine type instead of a new one of the same type. Once 
ordered, it will automatically replace the engines while they visits a depot. The GUI for setting this up have been added on the 
vehicle overview windows
Note: autorenew is now autoreplace, but to the same engine type
Nice new features, that was added to make this possible
- windows can now have two independant vertical scrollbars
- CMD_SHOW_NO_ERROR have been added as a flag for DoCommandP. It will make it do the action instead of showing the red box with 
estimated costs even if shift is pressed
- fixed problem where enginetypes where not initialized when loading a game. It's now done in InitializeGame()
This commit is contained in:
bjarni
2005-01-02 17:23:04 +00:00
parent a11f46fed4
commit 29d8c5bb50
27 changed files with 1247 additions and 270 deletions

View File

@@ -200,7 +200,7 @@ struct Window {
int left,top;
int width,height;
Scrollbar hscroll, vscroll;
Scrollbar hscroll, vscroll, vscroll2;
byte caption_color;
@@ -254,6 +254,15 @@ typedef struct {
int16 rename_engine;
} buildtrain_d;
typedef struct {
byte railtype;
byte vehicletype;
byte sel_index[2];
int16 sel_engine[2];
uint16 count[2];
byte line_height;
} replaceveh_d;
typedef struct {
VehicleID sel;
} traindepot_d;
@@ -358,7 +367,8 @@ enum WindowWidgetTypes {
WWT_HSCROLLBAR = 11,
WWT_STICKYBOX = 12,
WWT_LAST = 13, /* Last Item. use WIDGETS_END to fill up padding!! */
WWT_SCROLL2BAR = 13, /* 2nd vertical scrollbar*/
WWT_LAST = 14, /* Last Item. use WIDGETS_END to fill up padding!! */
WWT_MASK = 31,
@@ -384,6 +394,7 @@ enum WindowFlags {
WF_WHITE_BORDER_ONE = 1 << 11,
WF_WHITE_BORDER_MASK = 3 << 11,
WF_SCROLL2 = 1 << 13,
};
@@ -453,7 +464,7 @@ int PositionMainToolbar(Window *w);
/* widget.c */
int GetWidgetFromPos(Window *w, int x, int y);
void DrawWindowWidgets(Window *w);
void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask);
void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, bool remove_filtered_strings);
void HandleButtonClick(Window *w, byte widget);