mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-16 00:12:51 +00:00
(svn r6729) -Fix r6707: [build aircraft window] solved a crash when using a grf set with a buildable helicopter with a lower EngineID than the first buildable plane
Also removed a lot of const cast as they mess up the code and didn't help much
This commit is contained in:
parent
9cf0fa3238
commit
eef1d4de7a
@ -286,7 +286,7 @@ void CcBuildAircraft(bool success, TileIndex tile, uint32 p1, uint32 p2)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void ExtendEngineListSize(const EngineID **engine_list, uint16 *engine_list_length, uint16 step_size, uint16 max)
|
static inline void ExtendEngineListSize(EngineID **engine_list, uint16 *engine_list_length, uint16 step_size, uint16 max)
|
||||||
{
|
{
|
||||||
*engine_list_length = min(*engine_list_length + step_size, max);
|
*engine_list_length = min(*engine_list_length + step_size, max);
|
||||||
*engine_list = realloc((void*)*engine_list, (*engine_list_length) * sizeof((*engine_list)[0]));
|
*engine_list = realloc((void*)*engine_list, (*engine_list_length) * sizeof((*engine_list)[0]));
|
||||||
@ -310,17 +310,17 @@ static void GenerateBuildAircraftList(EngineID **planes, uint16 *num_planes, Eng
|
|||||||
|
|
||||||
switch (avi->subtype) {
|
switch (avi->subtype) {
|
||||||
case AIR_CTOL: // Propeller planes
|
case AIR_CTOL: // Propeller planes
|
||||||
if (*num_planes == plane_length) ExtendEngineListSize((const EngineID**)planes, &plane_length, 5, NUM_AIRCRAFT_ENGINES);
|
if (*num_planes == plane_length) ExtendEngineListSize(planes, &plane_length, 5, NUM_AIRCRAFT_ENGINES);
|
||||||
(*planes)[(*num_planes)++] = eid;
|
(*planes)[(*num_planes)++] = eid;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case (AIR_CTOL | AIR_FAST): // Jet planes
|
case (AIR_CTOL | AIR_FAST): // Jet planes
|
||||||
if (*num_jets == jet_length) ExtendEngineListSize((const EngineID**)jets, &jet_length, 5, NUM_AIRCRAFT_ENGINES);
|
if (*num_jets == jet_length) ExtendEngineListSize(jets, &jet_length, 5, NUM_AIRCRAFT_ENGINES);
|
||||||
(*jets)[(*num_jets)++] = eid;
|
(*jets)[(*num_jets)++] = eid;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0: // Helicopters
|
case 0: // Helicopters
|
||||||
if (*num_helicopters == helicopter_length) ExtendEngineListSize((const EngineID**)helicopters, &plane_length, 5, NUM_AIRCRAFT_ENGINES);
|
if (*num_helicopters == helicopter_length) ExtendEngineListSize(helicopters, &helicopter_length, 5, NUM_AIRCRAFT_ENGINES);
|
||||||
(*helicopters)[(*num_helicopters)++] = eid;
|
(*helicopters)[(*num_helicopters)++] = eid;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user