summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aircraft_cmd.c12
-rw-r--r--lang/english.txt1
-rw-r--r--misc_gui.c1
-rw-r--r--variables.h1
-rw-r--r--window.c2
5 files changed, 10 insertions, 7 deletions
diff --git a/aircraft_cmd.c b/aircraft_cmd.c
index f6ee422aa..c4500864e 100644
--- a/aircraft_cmd.c
+++ b/aircraft_cmd.c
@@ -1132,7 +1132,7 @@ static void MaybeCrashAirplane(Vehicle *v)
//FIXME -- MaybeCrashAirplane -> increase crashing chances of very modern airplanes on smaller than AT_METROPOLITAN airports
prob = 0x10000 / 1500;
- if (st->airport_type == AT_SMALL && (_aircraft_subtype[v->engine_type - AIRCRAFT_ENGINES_INDEX]&2)) {
+ if (st->airport_type == AT_SMALL && (_aircraft_subtype[v->engine_type - AIRCRAFT_ENGINES_INDEX]&2) && !_cheats.no_jetcrash.value) {
prob = 0x10000 / 20;
}
@@ -1391,8 +1391,8 @@ static void AircraftEventHandler_AtTerminal(Vehicle *v, const AirportFTAClass *A
static void AircraftEventHandler_General(Vehicle *v, const AirportFTAClass *Airport)
{
- printf("OK, you shouldn't be here, check your Airport Scheme!\n");
- assert(1 == v->u.air.state); // when here state is 0, so this always fails
+ DEBUG(misc, 0) ("OK, you shouldn't be here, check your Airport Scheme!");
+ assert(0);
}
static void AircraftEventHandler_TakeOff(Vehicle *v, const AirportFTAClass *Airport) {
@@ -1565,7 +1565,7 @@ static bool AirportMove(Vehicle *v, const AirportFTAClass *Airport)
// error handling
if (v->u.air.pos >= Airport->nofelements) {
- printf("position %d is not valid for current airport. Max position is %d\n", v->u.air.pos, Airport->nofelements-1);
+ DEBUG(misc, 0) ("position %d is not valid for current airport. Max position is %d", v->u.air.pos, Airport->nofelements-1);
assert(v->u.air.pos < Airport->nofelements);
}
@@ -1600,8 +1600,8 @@ static bool AirportMove(Vehicle *v, const AirportFTAClass *Airport)
current = current->next_in_chain;
} while (current != NULL);
- printf("Cannot move further on Airport...! pos:%d state:%d\n", v->u.air.pos, v->u.air.state);
- printf("Airport entry point: %d, Vehicle: %d\n", Airport->entry_point, v->index);
+ DEBUG(misc, 0) ("Cannot move further on Airport...! pos:%d state:%d", v->u.air.pos, v->u.air.state);
+ DEBUG(misc, 0) ("Airport entry point: %d, Vehicle: %d", Airport->entry_point, v->index);
assert(0);
return false;
}
diff --git a/lang/english.txt b/lang/english.txt
index 95f3808cf..1876aab77 100644
--- a/lang/english.txt
+++ b/lang/english.txt
@@ -1027,6 +1027,7 @@ STR_CHEAT_CHANGE_PLAYER :{LTBLUE}Playing as player: {ORANGE}{COMMA16}
STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Magic bulldozer (remove industries, unmovables): {ORANGE}{STRING}
STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Tunnels may cross each other: {ORANGE}{STRING}
STR_CHEAT_BUILD_IN_PAUSE :{LTBLUE}Build while in pause mode: {ORANGE}{STRING}
+STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetplanes will not crash (frequently) on small airports: {ORANGE} {STRING}
STR_SORT_BY_POPULATION :{BLACK}Population
diff --git a/misc_gui.c b/misc_gui.c
index db6e2dd4b..f86f2c8f5 100644
--- a/misc_gui.c
+++ b/misc_gui.c
@@ -1403,6 +1403,7 @@ static const CheatEntry _cheats_ui[] = {
{CE_BOOL, 0, STR_CHEAT_EXTRA_DYNAMITE, &_cheats.magic_bulldozer.value, &_cheats.magic_bulldozer.been_used},
{CE_BOOL, 0, STR_CHEAT_CROSSINGTUNNELS, &_cheats.crossing_tunnels.value,&_cheats.crossing_tunnels.been_used},
{CE_BOOL, 0, STR_CHEAT_BUILD_IN_PAUSE, &_cheats.build_in_pause.value, &_cheats.build_in_pause.been_used},
+ {CE_BOOL, 0, STR_CHEAT_NO_JETCRASH, &_cheats.no_jetcrash.value, &_cheats.no_jetcrash.been_used},
};
diff --git a/variables.h b/variables.h
index cc8b6acc9..bbb0ded43 100644
--- a/variables.h
+++ b/variables.h
@@ -176,6 +176,7 @@ typedef struct Cheats {
Cheat money; // get rich
Cheat crossing_tunnels; // allow tunnels that cross each other
Cheat build_in_pause; // build while in pause mode
+ Cheat no_jetcrash; // no jet will crash on small airports anymore
} Cheats;
VARDEF Cheats _cheats;
diff --git a/window.c b/window.c
index bd68afe5f..df968d3d0 100644
--- a/window.c
+++ b/window.c
@@ -1023,7 +1023,7 @@ void MouseLoop()
}
if (click == 1) {
- DEBUG(misc, 1) ("cursor: 0x%X (%d)", _cursor.sprite, _cursor.sprite);
+ DEBUG(misc, 2) ("cursor: 0x%X (%d)", _cursor.sprite, _cursor.sprite);
if (_thd.place_mode != 0 &&
// query button and place sign button work in pause mode
!(_cursor.sprite == 0x2CF || _cursor.sprite == 0x2D2) &&