(svn r4561) - NewGRF: implement most of callback 0x23: additional text in vehicle purchase windows.

This commit is contained in:
peter1138 2006-04-23 22:33:10 +00:00
parent a665462cc1
commit efd0d2d2b7
3 changed files with 17 additions and 0 deletions

View File

@ -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,
};
/**

View File

@ -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)
{

View File

@ -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 */