(svn r1503) Added feature:

o allows users to setup the production values of the rawmaterial producing 
  industries in the editor

Modified:
o ttd.h - added CT_INVALID for 0xFF cargo type
o english.txt - added 1 string
o industry_gui.c - the feature itself
o window.h - added compile asserts to the structs which checks whether their
  sizes are smaller than WINDOW_CUSTOM_SIZE

Thanks:
o Darkvater to bother me to constantly improve the patch
o Various users at #openttd for testing
This commit is contained in:
miham
2005-01-14 00:14:13 +00:00
parent 352cf002b2
commit 9e10458209
4 changed files with 147 additions and 13 deletions

View File

@@ -283,6 +283,7 @@ typedef struct {
StringID string_id; /* unk30 */
uint16 checked_items; /* unk32 */
} menu_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(menu_d));
typedef struct {
int16 data_1, data_2, data_3;
@@ -290,23 +291,28 @@ typedef struct {
bool close; /* scrollpos_y */
byte byte_1;
} def_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(def_d));
typedef struct {
void *data;
} void_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(void_d));
typedef struct {
uint16 base; /* follow_vehicle */
uint16 count;/* scrollpos_x */
} tree_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(tree_d));
typedef struct {
byte refresh_counter; /* follow_vehicle */
} plstations_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(plstations_d));
typedef struct {
StringID string_id;
} tooltips_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(tooltips_d));
typedef struct {
byte railtype;
@@ -314,6 +320,7 @@ typedef struct {
int16 sel_engine;
int16 rename_engine;
} buildtrain_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(buildtrain_d));
typedef struct {
byte railtype;
@@ -322,40 +329,59 @@ typedef struct {
int16 sel_engine[2];
uint16 count[2];
} replaceveh_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(replaceveh_d));
typedef struct {
VehicleID sel;
} traindepot_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(traindepot_d));
typedef struct {
int sel;
} order_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(order_d));
typedef struct {
byte tab;
} traindetails_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(traindetails_d));
typedef struct {
int32 scroll_x;
int32 scroll_y;
int32 subscroll;
} smallmap_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(traindetails_d));
typedef struct {
uint32 face;
byte gender;
} facesel_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(facesel_d));
typedef struct {
int sel;
byte cargo;
} refit_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(refit_d));
typedef struct {
uint16 follow_vehicle;
int32 scrollpos_x;
int32 scrollpos_y;
} vp_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vp_d) + 3 * sizeof(byte)); // + 3 * byte is a hack from Miham
// vp2_d is the same as vp_d, except for the data_# values..
typedef struct {
uint16 follow_vehicle;
int32 scrollpos_x;
int32 scrollpos_y;
byte data_1;
byte data_2;
byte data_3;
} vp2_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vp2_d));
typedef struct {
uint16 follow_vehicle;
@@ -363,16 +389,19 @@ typedef struct {
int32 scrollpos_y;
NewsItem *ni;
} news_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(news_d));
typedef struct {
uint32 background_img;
int8 rank;
} highscore_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(highscore_d));
typedef struct {
int height;
uint16 counter;
} scroller_d;
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(scroller_d));
typedef enum VehicleListFlags {
VL_DESC = 0x01,
@@ -387,7 +416,7 @@ typedef struct vehiclelist_d {
VehicleListFlags flags;
uint16 resort_timer;
} vehiclelist_d;
assert_compile(sizeof(vehiclelist_d) <= WINDOW_CUSTOM_SIZE);
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vehiclelist_d));
enum WindowEvents {
WE_CLICK = 0,