diff options
author | peter1138 <peter1138@openttd.org> | 2006-04-23 22:33:10 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2006-04-23 22:33:10 +0000 |
commit | c1bf22de39422821898d790630e46caab1024550 (patch) | |
tree | 5087c67a9969ba6e2e98949a2c2f1283b1a40d9d | |
parent | 61fc5a0d81e6faec04267f64c3a0700ab94a1764 (diff) | |
download | openttd-c1bf22de39422821898d790630e46caab1024550.tar.xz |
(svn r4561) - NewGRF: implement most of callback 0x23: additional text in vehicle purchase windows.
-rw-r--r-- | newgrf_callbacks.h | 4 | ||||
-rw-r--r-- | vehicle_gui.c | 12 | ||||
-rw-r--r-- | vehicle_gui.h | 1 |
3 files changed, 17 insertions, 0 deletions
diff --git a/newgrf_callbacks.h b/newgrf_callbacks.h index 228b46af2..0d591067b 100644 --- a/newgrf_callbacks.h +++ b/newgrf_callbacks.h @@ -24,6 +24,10 @@ enum CallbackID { CBID_VEHICLE_REFIT_CAPACITY = 0x15, CBID_TRAIN_ARTIC_ENGINE = 0x16, + + /* This callback is called from vehicle purchase lists. It returns a value to be + * used as a custom string ID in the 0xD000 range. */ + CBID_VEHICLE_ADDITIONAL_TEXT = 0x23, }; /** diff --git a/vehicle_gui.c b/vehicle_gui.c index 97396546e..3ed835f2e 100644 --- a/vehicle_gui.c +++ b/vehicle_gui.c @@ -19,7 +19,9 @@ #include "vehicle_gui.h" #include "viewport.h" #include "train.h" +#include "newgrf_callbacks.h" #include "newgrf_engine.h" +#include "newgrf_text.h" Sorting _sorting; @@ -256,6 +258,16 @@ CargoID DrawVehicleRefitWindow(const Vehicle *v, int sel) return cargo; } +/* Display additional text from NewGRF in the purchase information window */ +int ShowAdditionalText(int x, int y, int w, EngineID engine) +{ + uint16 callback = GetVehicleCallback(CBID_VEHICLE_ADDITIONAL_TEXT, 0, 0, engine, NULL); + if (callback == CALLBACK_FAILED) return 0; + + DrawStringTruncated(x, y, GetGRFStringID(GetEngineGRFID(engine), 0xD000 + callback), 16, w); + return 10; +} + /************ Sorter functions *****************/ int CDECL GeneralOwnerSorter(const void *a, const void *b) { diff --git a/vehicle_gui.h b/vehicle_gui.h index cf081130c..74a1835f1 100644 --- a/vehicle_gui.h +++ b/vehicle_gui.h @@ -62,6 +62,7 @@ void DrawShipPurchaseInfo(int x, int y, EngineID engine_number); void ChangeVehicleViewWindow(const Vehicle *from_v, const Vehicle *to_v); +int ShowAdditionalText(int x, int y, int w, EngineID engine_number); #endif /* VEHICLE_GUI_H */ |