1
0
Fork 0

(svn r6910) - Codechange: Supply width of area when drawing purchase info instead of using hardcoded values. (mart3p)

release/0.5
peter1138 2006-10-23 18:45:43 +00:00
parent 74850a7712
commit 59f78aa2b7
6 changed files with 33 additions and 32 deletions

View File

@ -208,7 +208,7 @@ static const StringID _aircraft_sort_listing[] = {
* @param x,y location where to draw the info * @param x,y location where to draw the info
* @param engine_number the engine of which to draw the info of * @param engine_number the engine of which to draw the info of
*/ */
void DrawAircraftPurchaseInfo(int x, int y, EngineID engine_number) void DrawAircraftPurchaseInfo(int x, int y, uint w, EngineID engine_number)
{ {
const AircraftVehicleInfo *avi = AircraftVehInfo(engine_number); const AircraftVehicleInfo *avi = AircraftVehInfo(engine_number);
const Engine *e = GetEngine(engine_number); const Engine *e = GetEngine(engine_number);
@ -255,8 +255,7 @@ void DrawAircraftPurchaseInfo(int x, int y, EngineID engine_number)
y += 10; y += 10;
/* Additional text from NewGRF */ /* Additional text from NewGRF */
// XXX 227 will become a calculated width... y += ShowAdditionalText(x, y, w, engine_number);
y += ShowAdditionalText(x, y, 227, engine_number);
} }
void DrawAircraftImage(const Vehicle *v, int x, int y, VehicleID selection) void DrawAircraftImage(const Vehicle *v, int x, int y, VehicleID selection)
@ -427,7 +426,8 @@ static void DrawBuildAircraftWindow(Window *w)
} }
if (selected_id != INVALID_ENGINE) { if (selected_id != INVALID_ENGINE) {
DrawAircraftPurchaseInfo(x, w->widget[BUILD_VEHICLE_WIDGET_PANEL].top + 1, selected_id); const Widget *wi = &w->widget[BUILD_VEHICLE_WIDGET_PANEL];
DrawAircraftPurchaseInfo(x, wi->top + 1, wi->right - wi->left - 2, selected_id);
} }
} }
DrawString(85, 15, _aircraft_sort_listing[WP(w,buildvehicle_d).sort_criteria], 0x10); DrawString(85, 15, _aircraft_sort_listing[WP(w,buildvehicle_d).sort_criteria], 0x10);

View File

@ -27,7 +27,7 @@
* @param x,y location where to draw the info * @param x,y location where to draw the info
* @param engine_number the engine of which to draw the info of * @param engine_number the engine of which to draw the info of
*/ */
void DrawRoadVehPurchaseInfo(int x, int y, EngineID engine_number) void DrawRoadVehPurchaseInfo(int x, int y, uint w, EngineID engine_number)
{ {
const RoadVehicleInfo *rvi = RoadVehInfo(engine_number); const RoadVehicleInfo *rvi = RoadVehInfo(engine_number);
const Engine *e = GetEngine(engine_number); const Engine *e = GetEngine(engine_number);
@ -65,8 +65,7 @@ void DrawRoadVehPurchaseInfo(int x, int y, EngineID engine_number)
y += 10; y += 10;
/* Additional text from NewGRF */ /* Additional text from NewGRF */
// XXX 227 will become a calculated width... y += ShowAdditionalText(x, y, w, engine_number);
y += ShowAdditionalText(x, y, 227, engine_number);
} }
void DrawRoadVehImage(const Vehicle *v, int x, int y, VehicleID selection) void DrawRoadVehImage(const Vehicle *v, int x, int y, VehicleID selection)
@ -432,7 +431,8 @@ static void DrawNewRoadVehWindow(Window *w)
WP(w,buildvehicle_d).sel_engine = selected_id; WP(w,buildvehicle_d).sel_engine = selected_id;
if (selected_id != INVALID_ENGINE) { if (selected_id != INVALID_ENGINE) {
DrawRoadVehPurchaseInfo(2, w->widget[4].top + 1, selected_id); const Widget *wi = &w->widget[4];
DrawRoadVehPurchaseInfo(2, wi->top + 1, wi->right - wi->left - 2, selected_id);
} }
} }

View File

@ -27,7 +27,7 @@
* @param x,y location where to draw the info * @param x,y location where to draw the info
* @param engine_number the engine of which to draw the info of * @param engine_number the engine of which to draw the info of
*/ */
void DrawShipPurchaseInfo(int x, int y, EngineID engine_number) void DrawShipPurchaseInfo(int x, int y, uint w, EngineID engine_number)
{ {
YearMonthDay ymd; YearMonthDay ymd;
const ShipVehicleInfo *svi = ShipVehInfo(engine_number); const ShipVehicleInfo *svi = ShipVehInfo(engine_number);
@ -65,8 +65,7 @@ void DrawShipPurchaseInfo(int x, int y, EngineID engine_number)
y += 10; y += 10;
/* Additional text from NewGRF */ /* Additional text from NewGRF */
// XXX 227 will become a calculated width... y += ShowAdditionalText(x, y, w, engine_number);
y += ShowAdditionalText(x, y, 227, engine_number);
} }
void DrawShipImage(const Vehicle *v, int x, int y, VehicleID selection) void DrawShipImage(const Vehicle *v, int x, int y, VehicleID selection)
@ -284,7 +283,8 @@ static void NewShipWndProc(Window *w, WindowEvent *e)
WP(w,buildvehicle_d).sel_engine = selected_id; WP(w,buildvehicle_d).sel_engine = selected_id;
if (selected_id != INVALID_ENGINE) { if (selected_id != INVALID_ENGINE) {
DrawShipPurchaseInfo(2, w->widget[4].top + 1, selected_id); const Widget *wi = &w->widget[4];
DrawShipPurchaseInfo(2, wi->top + 1, wi->right - wi->left - 2, selected_id);
} }
break; break;
} }

View File

@ -235,7 +235,7 @@ static const StringID _engine_sort_listing[] = {
* @param x,y location where to draw the info * @param x,y location where to draw the info
* @param engine_number the engine of which to draw the info of * @param engine_number the engine of which to draw the info of
*/ */
void DrawTrainEnginePurchaseInfo(int x, int y, EngineID engine_number) void DrawTrainEnginePurchaseInfo(int x, int y, uint w, EngineID engine_number)
{ {
const RailVehicleInfo *rvi = RailVehInfo(engine_number); const RailVehicleInfo *rvi = RailVehInfo(engine_number);
const Engine *e = GetEngine(engine_number); const Engine *e = GetEngine(engine_number);
@ -292,8 +292,7 @@ void DrawTrainEnginePurchaseInfo(int x, int y, EngineID engine_number)
y += 10; y += 10;
/* Additional text from NewGRF */ /* Additional text from NewGRF */
// XXX 227 will become a calculated width... y += ShowAdditionalText(x, y, w, engine_number);
y += ShowAdditionalText(x, y, 227, engine_number);
} }
/** /**
@ -301,7 +300,7 @@ void DrawTrainEnginePurchaseInfo(int x, int y, EngineID engine_number)
* @param x,y location where to draw the info * @param x,y location where to draw the info
* @param engine_number the engine of which to draw the info of * @param engine_number the engine of which to draw the info of
*/ */
void DrawTrainWagonPurchaseInfo(int x, int y, EngineID engine_number) void DrawTrainWagonPurchaseInfo(int x, int y, uint w, EngineID engine_number)
{ {
const RailVehicleInfo *rvi = RailVehInfo(engine_number); const RailVehicleInfo *rvi = RailVehInfo(engine_number);
bool refittable = (EngInfo(engine_number)->refit_mask != 0); bool refittable = (EngInfo(engine_number)->refit_mask != 0);
@ -337,7 +336,7 @@ void DrawTrainWagonPurchaseInfo(int x, int y, EngineID engine_number)
} }
/* Additional text from NewGRF */ /* Additional text from NewGRF */
y += ShowAdditionalText(x, y, 227, engine_number); y += ShowAdditionalText(x, y, w, engine_number);
} }
void CcBuildWagon(bool success, TileIndex tile, uint32 p1, uint32 p2) void CcBuildWagon(bool success, TileIndex tile, uint32 p1, uint32 p2)
@ -519,11 +518,12 @@ static void DrawTrainBuildWindow(Window *w)
if (selected_id != INVALID_ENGINE) { if (selected_id != INVALID_ENGINE) {
const RailVehicleInfo *rvi = RailVehInfo(selected_id); const RailVehicleInfo *rvi = RailVehInfo(selected_id);
const Widget *wi = &w->widget[BUILD_TRAIN_WIDGET_PANEL];
if (rvi->flags & RVI_WAGON) { if (rvi->flags & RVI_WAGON) {
DrawTrainWagonPurchaseInfo(2, w->widget[BUILD_TRAIN_WIDGET_PANEL].top + 1, selected_id); DrawTrainWagonPurchaseInfo(2, wi->top + 1, wi->right - wi->left - 2, selected_id);
} else { } else {
DrawTrainEnginePurchaseInfo(2, w->widget[BUILD_TRAIN_WIDGET_PANEL].top + 1, selected_id); DrawTrainEnginePurchaseInfo(2, wi->top + 1, wi->right - wi->left - 2, selected_id);
} }
} }
DrawString(85, 15, _engine_sort_listing[WP(w,buildvehicle_d).sort_criteria], 0x10); DrawString(85, 15, _engine_sort_listing[WP(w,buildvehicle_d).sort_criteria], 0x10);

View File

@ -990,20 +990,20 @@ static void DrawEngineArrayInReplaceWindow(Window *w, int x, int y, int x2, int
} }
} }
static void DrawVehiclePurchaseInfo(const int x, const int y, const EngineID engine_number) static void DrawVehiclePurchaseInfo(const int x, const int y, uint w, const EngineID engine_number)
{ {
switch (GetEngine(engine_number)->type) { switch (GetEngine(engine_number)->type) {
case VEH_Train: case VEH_Train:
if ((RailVehInfo(engine_number)->flags & RVI_WAGON) == 0) { if ((RailVehInfo(engine_number)->flags & RVI_WAGON) == 0) {
DrawTrainEnginePurchaseInfo(x, y, engine_number); DrawTrainEnginePurchaseInfo(x, y, w, engine_number);
} else { } else {
DrawTrainWagonPurchaseInfo(x, y, engine_number); DrawTrainWagonPurchaseInfo(x, y, w, engine_number);
} }
break; break;
case VEH_Road: DrawRoadVehPurchaseInfo(x, y, engine_number); break; case VEH_Road: DrawRoadVehPurchaseInfo(x, y, w, engine_number); break;
case VEH_Ship: DrawShipPurchaseInfo(x, y, engine_number); break; case VEH_Ship: DrawShipPurchaseInfo(x, y, w, engine_number); break;
case VEH_Aircraft: DrawAircraftPurchaseInfo(x, y, engine_number); break; case VEH_Aircraft: DrawAircraftPurchaseInfo(x, y, w, engine_number); break;
default: NOT_REACHED(); default: NOT_REACHED();
} }
} }
@ -1080,7 +1080,7 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
SetDParam(0, STR_NOT_REPLACING_VEHICLE_SELECTED); SetDParam(0, STR_NOT_REPLACING_VEHICLE_SELECTED);
} }
DrawString(145, 87 + w->resize.step_height * w->vscroll.cap, STR_02BD, 0x10); DrawString(145, w->widget[5].top + 1, STR_02BD, 0x10);
/* now we draw the two arrays according to what we just counted */ /* now we draw the two arrays according to what we just counted */
DrawEngineArrayInReplaceWindow(w, x, y, x2, y2, pos, pos2, sel[0], sel[1], selected_id[0], selected_id[1]); DrawEngineArrayInReplaceWindow(w, x, y, x2, y2, pos, pos2, sel[0], sel[1], selected_id[0], selected_id[1]);
@ -1090,7 +1090,8 @@ static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
/* now we draw the info about the vehicles we selected */ /* now we draw the info about the vehicles we selected */
for (i = 0 ; i < 2 ; i++) { for (i = 0 ; i < 2 ; i++) {
if (selected_id[i] != INVALID_ENGINE) { if (selected_id[i] != INVALID_ENGINE) {
DrawVehiclePurchaseInfo((i == 1) ? 230 : 2 , 15 + (w->resize.step_height * w->vscroll.cap), selected_id[i]); const Widget *wi = &w->widget[i == 0 ? 3 : 11];
DrawVehiclePurchaseInfo(wi->left + 2 , wi->top + 1, wi->right - wi->left - 2, selected_id[i]);
} }
} }
} break; // end of paint } break; // end of paint

View File

@ -32,11 +32,11 @@ static inline bool ValidVLWFlags(uint16 flags)
void PlayerVehWndProc(Window *w, WindowEvent *e); void PlayerVehWndProc(Window *w, WindowEvent *e);
void DrawTrainEnginePurchaseInfo(int x, int y, EngineID engine_number); void DrawTrainEnginePurchaseInfo(int x, int y, uint w, EngineID engine_number);
void DrawTrainWagonPurchaseInfo(int x, int y, EngineID engine_number); void DrawTrainWagonPurchaseInfo(int x, int y, uint w, EngineID engine_number);
void DrawRoadVehPurchaseInfo(int x, int y, EngineID engine_number); void DrawRoadVehPurchaseInfo(int x, int y, uint w, EngineID engine_number);
void DrawAircraftPurchaseInfo(int x, int y, EngineID engine_number); void DrawAircraftPurchaseInfo(int x, int y, uint w, EngineID engine_number);
void DrawShipPurchaseInfo(int x, int y, EngineID engine_number); void DrawShipPurchaseInfo(int x, int y, uint w, EngineID engine_number);
void DrawTrainImage(const Vehicle *v, int x, int y, int count, int skip, VehicleID selection); void DrawTrainImage(const Vehicle *v, int x, int y, int count, int skip, VehicleID selection);
void DrawRoadVehImage(const Vehicle *v, int x, int y, VehicleID selection); void DrawRoadVehImage(const Vehicle *v, int x, int y, VehicleID selection);