Changeset - r9671:5a8885045172
[Not reviewed]
master
0 2 0
peter1138 - 16 years ago 2008-07-20 21:21:51
peter1138@openttd.org
(svn r13760) -Codechange: With multiple NewGRF engine sets, engine IDs may not be allocated in the order expected by GRF authors, so sort by 'list position' instead of engine ID for all vehicle types.
2 files changed with 4 insertions and 13 deletions:
0 comments (0 inline, 0 general)
src/autoreplace_gui.cpp
Show inline comments
 
@@ -59,7 +59,7 @@ enum ReplaceVehicleWindowWidgets {
 
	RVW_WIDGET_TRAIN_WAGONREMOVE_TOGGLE,
 
};
 

	
 
static int CDECL TrainEngineNumberSorter(const void *a, const void *b)
 
static int CDECL EngineNumberSorter(const void *a, const void *b)
 
{
 
	const EngineID va = *(const EngineID*)a;
 
	const EngineID vb = *(const EngineID*)b;
 
@@ -213,7 +213,7 @@ class ReplaceVehicleWindow : public Wind
 
			if (eid == this->sel_engine[i]) selected_engine = eid; // The selected engine is still in the list
 
		}
 
		this->sel_engine[i] = selected_engine; // update which engine we selected (the same or none, if it's not in the list anymore)
 
		if (type == VEH_TRAIN) EngList_Sort(list, &TrainEngineNumberSorter);
 
		EngList_Sort(list, &EngineNumberSorter);
 
	}
 

	
 
	/** Generate the lists */
src/build_vehicle_gui.cpp
Show inline comments
 
@@ -71,7 +71,7 @@ static int CDECL EngineNumberSorter(cons
 
{
 
	const EngineID va = *(const EngineID*)a;
 
	const EngineID vb = *(const EngineID*)b;
 
	int r = va - vb;
 
	int r = ListPositionOfEngine(va) - ListPositionOfEngine(vb);
 

	
 
	return _internal_sort_order ? -r : r;
 
}
 
@@ -193,15 +193,6 @@ static int CDECL TrainEnginePowerVsRunni
 
	return _internal_sort_order ? -r : r;
 
}
 

	
 
static int CDECL TrainEngineNumberSorter(const void *a, const void *b)
 
{
 
	const EngineID va = *(const EngineID*)a;
 
	const EngineID vb = *(const EngineID*)b;
 
	int r = ListPositionOfEngine(va) - ListPositionOfEngine(vb);
 

	
 
	return _internal_sort_order ? -r : r;
 
}
 

	
 
static int CDECL TrainEngineCapacitySorter(const void *a, const void *b)
 
{
 
	int va = RailVehInfo(*(const EngineID*)a)->capacity;
 
@@ -381,7 +372,7 @@ static int CDECL AircraftEngineCargoSort
 

	
 
static EngList_SortTypeFunction * const _sorter[][10] = {{
 
	/* Trains */
 
	&TrainEngineNumberSorter,
 
	&EngineNumberSorter,
 
	&TrainEngineCostSorter,
 
	&TrainEngineSpeedSorter,
 
	&TrainEnginePowerSorter,
0 comments (0 inline, 0 general)