diff options
author | miham <miham@openttd.org> | 2005-01-14 00:14:13 +0000 |
---|---|---|
committer | miham <miham@openttd.org> | 2005-01-14 00:14:13 +0000 |
commit | 9e10458209fb9eaabb9192383614d950b572083c (patch) | |
tree | 779ccfd6e070c8b4fd2e910f54f0b3daba60b08a /window.h | |
parent | 352cf002b26013f79d16d2d3afa2ab8d3f5eb0d9 (diff) | |
download | openttd-9e10458209fb9eaabb9192383614d950b572083c.tar.xz |
(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
Diffstat (limited to 'window.h')
-rw-r--r-- | window.h | 31 |
1 files changed, 30 insertions, 1 deletions
@@ -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, |