Skip to content

Commit 9758e1c

Browse files
committed
Merge branch 'master' into jgrpp
# Conflicts: # src/aircraft.h # src/autoreplace_cmd.cpp # src/autoreplace_gui.cpp # src/build_vehicle_gui.cpp # src/cachecheck.cpp # src/console_cmds.cpp # src/depot_gui.cpp # src/disaster_vehicle.h # src/economy.cpp # src/effectvehicle_base.h # src/engine.cpp # src/engine_base.h # src/group.h # src/group_gui.cpp # src/industry_cmd.cpp # src/newgrf_debug_gui.cpp # src/newgrf_engine.cpp # src/order_cmd.cpp # src/order_gui.cpp # src/pathfinder/follow_track.hpp # src/pathfinder/yapf/yapf_costrail.hpp # src/pathfinder/yapf/yapf_ship.cpp # src/pbs.cpp # src/rail.cpp # src/rail_cmd.cpp # src/rail_gui.cpp # src/road_cmd.cpp # src/roadstop.cpp # src/roadveh.h # src/roadveh_cmd.cpp # src/saveload/afterload.cpp # src/saveload/engine_sl.cpp # src/saveload/station_sl.cpp # src/saveload/vehicle_sl.cpp # src/script/api/script_vehicle.cpp # src/ship.h # src/ship_cmd.cpp # src/signal.cpp # src/sl/waypoint_sl.cpp # src/smallmap_gui.cpp # src/station.cpp # src/station_base.h # src/station_cmd.cpp # src/station_gui.cpp # src/strings.cpp # src/strings_type.h # src/timetable_cmd.cpp # src/toolbar_gui.cpp # src/train.h # src/train_cmd.cpp # src/train_gui.cpp # src/tunnelbridge_cmd.cpp # src/vehicle.cpp # src/vehicle_cmd.cpp # src/vehicle_gui.cpp # src/vehicle_gui_base.h # src/vehicle_type.h # src/water_cmd.cpp
2 parents 4bf688f + a4d142e commit 9758e1c

129 files changed

Lines changed: 1686 additions & 1780 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cmake/scripts/SquirrelExport.cmake

Lines changed: 9 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -365,176 +365,62 @@ foreach(LINE IN LISTS SOURCE_LINES)
365365
string(APPEND SQUIRREL_EXPORT "\n")
366366

367367
# Enum values
368-
set(MLEN 0)
369368
foreach(ENUM_VALUE IN LISTS ENUM_VALUES)
370-
string(LENGTH "${ENUM_VALUE}" LEN)
371-
if(MLEN LESS LEN)
372-
set(MLEN ${LEN})
373-
endif()
374-
endforeach()
375-
foreach(ENUM_VALUE IN LISTS ENUM_VALUES)
376-
string(LENGTH "${ENUM_VALUE}" LEN)
377-
math(EXPR LEN "${MLEN} - ${LEN}")
378-
unset(SPACES)
379-
foreach(i RANGE ${LEN})
380-
string(APPEND SPACES " ")
381-
endforeach()
382-
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQConst(engine, ${CLS}::${ENUM_VALUE},${SPACES}\"${ENUM_VALUE}\");")
369+
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQConst(engine, ${CLS}::${ENUM_VALUE}, \"${ENUM_VALUE}\");")
383370
endforeach()
384-
if(MLEN)
385-
string(APPEND SQUIRREL_EXPORT "\n")
386-
endif()
387371

388372
# Const values
389-
set(MLEN 0)
390-
foreach(CONST_VALUE IN LISTS CONST_VALUES)
391-
string(LENGTH "${CONST_VALUE}" LEN)
392-
if(MLEN LESS LEN)
393-
set(MLEN ${LEN})
394-
endif()
395-
endforeach()
396373
foreach(CONST_VALUE IN LISTS CONST_VALUES)
397-
string(LENGTH "${CONST_VALUE}" LEN)
398-
math(EXPR LEN "${MLEN} - ${LEN}")
399-
unset(SPACES)
400-
foreach(i RANGE ${LEN})
401-
string(APPEND SPACES " ")
402-
endforeach()
403-
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQConst(engine, ${CLS}::${CONST_VALUE},${SPACES}\"${CONST_VALUE}\");")
374+
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQConst(engine, ${CLS}::${CONST_VALUE}, \"${CONST_VALUE}\");")
404375
endforeach()
405-
if(MLEN)
406-
string(APPEND SQUIRREL_EXPORT "\n")
407-
endif()
408376

409377
# Mapping of OTTD strings to errors
410-
set(MLEN 0)
411-
foreach(ENUM_STRING_TO_ERROR IN LISTS ENUM_STRING_TO_ERRORS)
412-
string(REPLACE ":" ";" ENUM_STRING_TO_ERROR "${ENUM_STRING_TO_ERROR}")
413-
list(GET ENUM_STRING_TO_ERROR 0 ENUM_STRING)
414-
string(LENGTH "${ENUM_STRING}" LEN)
415-
if(MLEN LESS LEN)
416-
set(MLEN ${LEN})
417-
endif()
418-
endforeach()
419378
foreach(ENUM_STRING_TO_ERROR IN LISTS ENUM_STRING_TO_ERRORS)
420379
string(REPLACE ":" ";" ENUM_STRING_TO_ERROR "${ENUM_STRING_TO_ERROR}")
421380
list(GET ENUM_STRING_TO_ERROR 0 ENUM_STRING)
422381
list(GET ENUM_STRING_TO_ERROR 1 ENUM_ERROR)
423-
string(LENGTH "${ENUM_STRING}" LEN)
424-
math(EXPR LEN "${MLEN} - ${LEN}")
425-
unset(SPACES)
426-
foreach(i RANGE ${LEN})
427-
string(APPEND SPACES " ")
428-
endforeach()
429-
string(APPEND SQUIRREL_EXPORT "\n\tScriptError::RegisterErrorMap(${ENUM_STRING},${SPACES}${CLS}::${ENUM_ERROR});")
382+
string(APPEND SQUIRREL_EXPORT "\n\tScriptError::RegisterErrorMap(${ENUM_STRING}, ${CLS}::${ENUM_ERROR});")
430383
endforeach()
431-
if(MLEN)
432-
string(APPEND SQUIRREL_EXPORT "\n")
433-
endif()
434384

435385
# Mapping of errors to human 'readable' strings.
436-
set(MLEN 0)
437-
foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS)
438-
string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN)
439-
if(MLEN LESS LEN)
440-
set(MLEN ${LEN})
441-
endif()
442-
endforeach()
443386
foreach(ENUM_ERROR_TO_STRING IN LISTS ENUM_ERROR_TO_STRINGS)
444387
string(LENGTH "${ENUM_ERROR_TO_STRING}" LEN)
445-
math(EXPR LEN "${MLEN} - ${LEN}")
446-
unset(SPACES)
447-
foreach(i RANGE ${LEN})
448-
string(APPEND SPACES " ")
449-
endforeach()
450-
string(APPEND SQUIRREL_EXPORT "\n\tScriptError::RegisterErrorMapString(${CLS}::${ENUM_ERROR_TO_STRING},${SPACES}\"${ENUM_ERROR_TO_STRING}\");")
388+
string(APPEND SQUIRREL_EXPORT "\n\tScriptError::RegisterErrorMapString(${CLS}::${ENUM_ERROR_TO_STRING}, \"${ENUM_ERROR_TO_STRING}\");")
451389
endforeach()
452-
if(MLEN)
453-
string(APPEND SQUIRREL_EXPORT "\n")
454-
endif()
455390

456391
# Static methods
457-
set(MLEN 0)
458-
foreach(STATIC_METHOD IN LISTS STATIC_METHODS)
459-
string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}")
460-
list(GET STATIC_METHOD 0 FUNCNAME)
461-
string(LENGTH "${FUNCNAME}" LEN)
462-
if(MLEN LESS LEN)
463-
set(MLEN ${LEN})
464-
endif()
465-
endforeach()
466392
foreach(STATIC_METHOD IN LISTS STATIC_METHODS)
467393
string(REPLACE ":" ";" STATIC_METHOD "${STATIC_METHOD}")
468394
list(GET STATIC_METHOD 0 FUNCNAME)
469395
list(GET STATIC_METHOD 1 TYPES)
470396
list(GET STATIC_METHOD 2 SUSPENDABLE)
471-
string(LENGTH "${FUNCNAME}" LEN)
472-
math(EXPR LEN "${MLEN} - ${LEN}")
473-
if("${TYPES}" STREQUAL "v")
474-
if(LEN GREATER 8)
475-
math(EXPR LEN "${LEN} - 8")
476-
else()
477-
set(LEN 0)
478-
endif()
479-
endif()
480-
unset(SPACES)
481-
foreach(i RANGE ${LEN})
482-
string(APPEND SPACES " ")
483-
endforeach()
484397
if(SUSPENDABLE)
485398
set(SUSPENDABLE ", true")
486399
endif()
487400
if("${TYPES}" STREQUAL "v")
488-
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQAdvancedStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\"${SUSPENDABLE});")
401+
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQAdvancedStaticMethod(engine, &${CLS}::${FUNCNAME}, \"${FUNCNAME}\"${SUSPENDABLE});")
489402
else()
490-
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQStaticMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}\"${TYPES}\"${SUSPENDABLE});")
403+
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQStaticMethod(engine, &${CLS}::${FUNCNAME}, \"${FUNCNAME}\", \"${TYPES}\"${SUSPENDABLE});")
491404
endif()
492405
endforeach()
493-
if(MLEN)
494-
string(APPEND SQUIRREL_EXPORT "\n")
495-
endif()
496406

497407
# Non-static methods
498-
set(MLEN 0)
499-
foreach(METHOD IN LISTS METHODS)
500-
string(REPLACE ":" ";" METHOD "${METHOD}")
501-
list(GET METHOD 0 FUNCNAME)
502-
string(LENGTH "${FUNCNAME}" LEN)
503-
if(MLEN LESS LEN)
504-
set(MLEN ${LEN})
505-
endif()
506-
endforeach()
507408
foreach(METHOD IN LISTS METHODS)
508409
string(REPLACE ":" ";" METHOD "${METHOD}")
509410
list(GET METHOD 0 FUNCNAME)
510411
list(GET METHOD 1 TYPES)
511412
list(GET METHOD 2 SUSPENDABLE)
512-
string(LENGTH "${FUNCNAME}" LEN)
513-
math(EXPR LEN "${MLEN} - ${LEN}")
514-
if("${TYPES}" STREQUAL "v")
515-
if(LEN GREATER 8)
516-
math(EXPR LEN "${LEN} - 8")
517-
else()
518-
set(LEN 0)
519-
endif()
520-
endif()
521-
unset(SPACES)
522-
foreach(i RANGE ${LEN})
523-
string(APPEND SPACES " ")
524-
endforeach()
525413
if(SUSPENDABLE)
526414
set(SUSPENDABLE ", true")
527415
endif()
528416
if("${TYPES}" STREQUAL "v")
529-
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQAdvancedMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\"${SUSPENDABLE});")
417+
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQAdvancedMethod(engine, &${CLS}::${FUNCNAME}, \"${FUNCNAME}\"${SUSPENDABLE});")
530418
else()
531-
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQMethod(engine, &${CLS}::${FUNCNAME},${SPACES}\"${FUNCNAME}\",${SPACES}\"${TYPES}\"${SUSPENDABLE});")
419+
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.DefSQMethod(engine, &${CLS}::${FUNCNAME}, \"${FUNCNAME}\", \"${TYPES}\"${SUSPENDABLE});")
532420
endif()
533421
endforeach()
534-
if(MLEN)
535-
string(APPEND SQUIRREL_EXPORT "\n")
536-
endif()
537422

423+
string(APPEND SQUIRREL_EXPORT "\n")
538424
string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.PostRegister(engine);")
539425
string(APPEND SQUIRREL_EXPORT "\n}")
540426

src/aircraft.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ struct AircraftCache {
7474
/**
7575
* Aircraft, helicopters, rotors and their shadows belong to this class.
7676
*/
77-
struct Aircraft final : public SpecializedVehicle<Aircraft, VEH_AIRCRAFT, Vehicle> {
77+
struct Aircraft final : public SpecializedVehicle<Aircraft, VehicleType::Aircraft, Vehicle> {
7878
uint16_t crashed_counter = 0; ///< Timer for handling crash animations.
7979
uint8_t pos = 0; ///< Next desired position of the aircraft.
8080
uint8_t previous_pos = 0; ///< Previous desired position of the aircraft.

src/aircraft_cmd.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ static const SpriteID _aircraft_sprite[] = {
9696

9797
/** @copydoc IsValidImageIndex */
9898
template <>
99-
bool IsValidImageIndex<VEH_AIRCRAFT>(uint8_t image_index)
99+
bool IsValidImageIndex<VehicleType::Aircraft>(uint8_t image_index)
100100
{
101101
return image_index < lengthof(_aircraft_sprite);
102102
}
@@ -140,7 +140,7 @@ static StationID FindNearestHangar(const Aircraft *v)
140140
}
141141

142142
for (const Station *st : Station::Iterate()) {
143-
if (!IsInfraUsageAllowed(VEH_AIRCRAFT, v->owner, st->owner) || !st->facilities.Test(StationFacility::Airport) || !st->airport.HasHangar()) continue;
143+
if (!IsInfraUsageAllowed(VehicleType::Aircraft, v->owner, st->owner) || !st->facilities.Test(StationFacility::Airport) || !st->airport.HasHangar()) continue;
144144

145145
const AirportFTAClass *afc = st->airport.GetFTA();
146146

@@ -194,7 +194,7 @@ void Aircraft::GetImage(Direction direction, EngineImageType image_type, Vehicle
194194
spritenum = this->GetEngine()->original_image_index;
195195
}
196196

197-
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
197+
assert(IsValidImageIndex<VehicleType::Aircraft>(spritenum));
198198
result->Set(direction + _aircraft_sprite[spritenum]);
199199
}
200200

@@ -224,7 +224,7 @@ static void GetAircraftIcon(EngineID engine, EngineImageType image_type, Vehicle
224224
spritenum = e->original_image_index;
225225
}
226226

227-
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
227+
assert(IsValidImageIndex<VehicleType::Aircraft>(spritenum));
228228
result->Set(DIR_W + _aircraft_sprite[spritenum]);
229229
}
230230

@@ -759,7 +759,7 @@ int GetTileHeightBelowAircraft(const Vehicle *v)
759759
void GetAircraftFlightLevelBounds(const Vehicle *v, int *min_level, int *max_level)
760760
{
761761
int base_altitude = GetTileHeightBelowAircraft(v);
762-
if (v->type == VEH_AIRCRAFT && Aircraft::From(v)->subtype == AIR_HELICOPTER) {
762+
if (v->type == VehicleType::Aircraft && Aircraft::From(v)->subtype == AIR_HELICOPTER) {
763763
base_altitude += HELICOPTER_HOLD_MAX_FLYING_ALTITUDE - PLANE_HOLD_MAX_FLYING_ALTITUDE;
764764
}
765765

@@ -1225,7 +1225,7 @@ static bool AircraftController(Aircraft *v)
12251225
*/
12261226
void FindBreakdownDestination(Aircraft *v)
12271227
{
1228-
assert(v->type == VEH_AIRCRAFT && v->breakdown_ctr == 1);
1228+
assert(v->type == VehicleType::Aircraft && v->breakdown_ctr == 1);
12291229

12301230
DestinationID destination = StationID::Invalid();
12311231
if (v->breakdown_type == BREAKDOWN_AIRCRAFT_DEPOT) {
@@ -1777,7 +1777,7 @@ static void AircraftEventHandler_Flying(Aircraft *v, const AirportFTAClass *apc)
17771777
Station *st = Station::Get(v->targetairport);
17781778

17791779
/* Runway busy, not allowed to use this airstation or closed, circle. */
1780-
if (CanVehicleUseStation(v, st) && IsInfraUsageAllowed(VEH_AIRCRAFT, v->owner, st->owner) && !st->airport.blocks.Test(AirportBlock::AirportClosed)) {
1780+
if (CanVehicleUseStation(v, st) && IsInfraUsageAllowed(VehicleType::Aircraft, v->owner, st->owner) && !st->airport.blocks.Test(AirportBlock::AirportClosed)) {
17811781
/* {32,FLYING,NOTHING_block,37}, {32,LANDING,N,33}, {32,HELILANDING,N,41},
17821782
* if it is an airplane, look for LANDING, for helicopter HELILANDING
17831783
* it is possible to choose from multiple landing runways, so loop until a free one is found */
@@ -2305,7 +2305,7 @@ bool Aircraft::Tick()
23052305
*/
23062306
Station *GetTargetAirportIfValid(const Aircraft *v)
23072307
{
2308-
assert(v->type == VEH_AIRCRAFT);
2308+
assert(v->type == VehicleType::Aircraft);
23092309

23102310
Station *st = Station::GetIfValid(v->targetairport);
23112311
if (st == nullptr) return nullptr;

src/airport_gui.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ struct BuildAirToolbarWindow : Window {
107107
{
108108
if (!gui_scope) return;
109109

110-
bool can_build = CanBuildVehicleInfrastructure(VEH_AIRCRAFT);
110+
bool can_build = CanBuildVehicleInfrastructure(VehicleType::Aircraft);
111111
this->SetWidgetDisabledState(WID_AT_AIRPORT, !can_build);
112112
if (!can_build) {
113113
CloseWindowById(WC_BUILD_STATION, TRANSPORT_AIR);

src/articulated_vehicles.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ static EngineID GetNextArticulatedPart(uint index, EngineID front_type, Vehicle
3939

4040
const Engine *front_engine = Engine::Get(front_type);
4141

42-
if (front_engine->type == VEH_SHIP && !(front_engine->GetGRF() != nullptr && HasBit(front_engine->GetGRF()->observed_feature_tests, GFTOF_MULTI_PART_SHIPS))) {
42+
if (front_engine->type == VehicleType::Ship && !(front_engine->GetGRF() != nullptr && HasBit(front_engine->GetGRF()->observed_feature_tests, GFTOF_MULTI_PART_SHIPS))) {
4343
return EngineID::Invalid();
4444
}
4545

@@ -352,7 +352,7 @@ void CheckConsistencyOfArticulatedVehicle(const Vehicle *v)
352352
real_refit_union.Set(refit_mask);
353353
if (refit_mask.Any()) real_refit_intersection = real_refit_intersection & refit_mask;
354354

355-
assert(v->cargo_type < NUM_CARGO || (v->type == VEH_TRAIN && Train::From(v)->IsVirtual()));
355+
assert(v->cargo_type < NUM_CARGO || (v->type == VehicleType::Train && Train::From(v)->IsVirtual()));
356356
if (v->cargo_cap > 0) real_default_cargoes.Set(v->cargo_type);
357357

358358
v = v->HasArticulatedPart() ? v->GetNextArticulatedPart() : nullptr;
@@ -393,7 +393,7 @@ void AddArticulatedParts(Vehicle *first)
393393
if (!Vehicle::CanAllocateItem()) return;
394394

395395
GroundVehicleCache *gcache = nullptr;
396-
if (type == VEH_TRAIN || type == VEH_ROAD) {
396+
if (type == VehicleType::Train || type == VehicleType::Road) {
397397
gcache = v->GetGroundVehicleCache();
398398
gcache->first_engine = v->engine_type; // Needs to be set before first callback
399399
}
@@ -402,7 +402,7 @@ void AddArticulatedParts(Vehicle *first)
402402
switch (type) {
403403
default: NOT_REACHED();
404404

405-
case VEH_TRAIN: {
405+
case VehicleType::Train: {
406406
Train *front = Train::From(first);
407407
Train *t = Train::Create();
408408
v->SetNext(t);
@@ -428,7 +428,7 @@ void AddArticulatedParts(Vehicle *first)
428428
break;
429429
}
430430

431-
case VEH_ROAD: {
431+
case VehicleType::Road: {
432432
RoadVehicle *front = RoadVehicle::From(first);
433433
RoadVehicle *rv = RoadVehicle::Create();
434434
v->SetNext(rv);
@@ -456,7 +456,7 @@ void AddArticulatedParts(Vehicle *first)
456456
break;
457457
}
458458

459-
case VEH_SHIP: {
459+
case VehicleType::Ship: {
460460
Ship *front = Ship::From(first);
461461
Ship *s = Ship::Create();
462462
v->SetNext(s);
@@ -493,7 +493,7 @@ void AddArticulatedParts(Vehicle *first)
493493
v->value = 0;
494494
v->random_bits = Random();
495495

496-
if (type == VEH_SHIP) continue;
496+
if (type == VehicleType::Ship) continue;
497497

498498
v->direction = first->direction;
499499
v->tile = first->tile;
@@ -507,7 +507,7 @@ void AddArticulatedParts(Vehicle *first)
507507

508508
if (flip_image) v->spritenum++;
509509

510-
if (v->type == VEH_TRAIN) {
510+
if (v->type == VehicleType::Train) {
511511
auto prob = TestVehicleBuildProbability(v, BuildProbabilityType::Reversed);
512512
if (prob.has_value()) Train::From(v)->flags.Set(VehicleRailFlag::Flipped, prob.value());
513513
}

0 commit comments

Comments
 (0)