summaryrefslogtreecommitdiff
path: root/window.h
diff options
context:
space:
mode:
authormiham <miham@openttd.org>2005-01-14 00:14:13 +0000
committermiham <miham@openttd.org>2005-01-14 00:14:13 +0000
commit9e10458209fb9eaabb9192383614d950b572083c (patch)
tree779ccfd6e070c8b4fd2e910f54f0b3daba60b08a /window.h
parent352cf002b26013f79d16d2d3afa2ab8d3f5eb0d9 (diff)
downloadopenttd-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.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/window.h b/window.h
index 4f59dab9e..89ae45c97 100644
--- a/window.h
+++ b/window.h
@@ -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,