tron@2186: /* $Id$ */ tron@2186: darkvater@164: #ifndef VEHICLE_GUI_H darkvater@164: #define VEHICLE_GUI_H darkvater@164: tron@2466: #include "station.h" matthijs@1752: #include "vehicle.h" matthijs@1752: tron@588: struct vehiclelist_d; tron@588: Darkvater@2436: void DrawVehicleProfitButton(const Vehicle *v, int x, int y); Darkvater@1802: CargoID DrawVehicleRefitWindow(const Vehicle *v, int sel); tron@1093: void InitializeVehiclesGuiList(void); darkvater@164: darkvater@164: /* sorter stuff */ tron@588: void RebuildVehicleLists(void); tron@588: void ResortVehicleLists(void); tron@588: tron@2466: void BuildVehicleList(struct vehiclelist_d* vl, int type, PlayerID, StationID); tron@588: void SortVehicleList(struct vehiclelist_d *vl); tron@588: darkvater@168: int CDECL GeneralOwnerSorter(const void *a, const void *b); darkvater@164: darkvater@168: #define PERIODIC_RESORT_DAYS 10 darkvater@168: #define SORT_BY_UNSORTED 0 tron@505: extern const StringID _vehicle_sort_listing[]; darkvater@164: darkvater@164: enum VehicleSortTypes { darkvater@1246: VEHTRAIN = 0, darkvater@1246: VEHROAD = 1, darkvater@1246: VEHSHIP = 2, darkvater@1246: VEHAIRCRAFT = 3 darkvater@164: }; darkvater@164: darkvater@1246: typedef struct Listing { darkvater@1246: bool order; // Ascending/descending? darkvater@1246: byte criteria; // Sorting criteria darkvater@1246: } Listing; darkvater@1246: darkvater@1246: typedef struct Sorting { darkvater@1246: Listing aircraft; darkvater@1246: Listing roadveh; darkvater@1246: Listing ship; darkvater@1246: Listing train; darkvater@1246: } Sorting; darkvater@1246: tron@2159: extern Sorting _sorting; darkvater@1246: darkvater@164: enum { tron@2548: PLY_WND_PRC__OFFSET_TOP_WIDGET = 26, tron@2548: PLY_WND_PRC__SIZE_OF_ROW_SMALL = 26, tron@2548: PLY_WND_PRC__SIZE_OF_ROW_BIG = 36, darkvater@164: }; darkvater@164: bjarni@842: void ShowReplaceVehicleWindow(byte vehicletype); bjarni@842: hackykid@1907: void DrawTrainEnginePurchaseInfo(int x, int y, EngineID engine_number); hackykid@1907: void DrawTrainWagonPurchaseInfo(int x, int y, EngineID engine_number); hackykid@1907: void DrawRoadVehPurchaseInfo(int x, int y, EngineID engine_number); hackykid@1907: void DrawAircraftPurchaseInfo(int x, int y, EngineID engine_number); hackykid@1907: void DrawShipPurchaseInfo(int x, int y, EngineID engine_number); bjarni@842: bjarni@2552: void ChangeVehicleViewWindow(const Vehicle *from_v, const Vehicle *to_v); bjarni@2552: bjarni@2552: bjarni@842: darkvater@164: #endif /* VEHICLE_GUI_H */