MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / DisasterClearSquare

Function DisasterClearSquare

src/disaster_vehicle.cpp:59–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

57uint16_t _disaster_delay;
58
59static void DisasterClearSquare(TileIndex tile)
60{
61 if (EnsureNoVehicleOnGround(tile).Failed()) return;
62
63 switch (GetTileType(tile)) {
64 case MP_RAILWAY:
65 if (Company::IsHumanID(GetTileOwner(tile)) && !IsRailDepot(tile)) {
66 Backup<CompanyID> cur_company(_current_company, OWNER_WATER);
67 Command<CMD_LANDSCAPE_CLEAR>::Do(DoCommandFlag::Execute, tile);
68 cur_company.Restore();
69
70 /* update signals in buffer */
71 UpdateSignalsInBuffer();
72 }
73 break;
74
75 case MP_HOUSE: {
76 Backup<CompanyID> cur_company(_current_company, OWNER_NONE);
77 Command<CMD_LANDSCAPE_CLEAR>::Do(DoCommandFlag::Execute, tile);
78 cur_company.Restore();
79 break;
80 }
81
82 case MP_TREES:
83 case MP_CLEAR:
84 DoClearSquare(tile);
85 break;
86
87 default:
88 break;
89 }
90}
91
92static const SpriteID _disaster_images_1[] = {SPR_BLIMP, SPR_BLIMP, SPR_BLIMP, SPR_BLIMP, SPR_BLIMP, SPR_BLIMP, SPR_BLIMP, SPR_BLIMP};
93static const SpriteID _disaster_images_2[] = {SPR_UFO_SMALL_SCOUT, SPR_UFO_SMALL_SCOUT, SPR_UFO_SMALL_SCOUT, SPR_UFO_SMALL_SCOUT, SPR_UFO_SMALL_SCOUT, SPR_UFO_SMALL_SCOUT, SPR_UFO_SMALL_SCOUT, SPR_UFO_SMALL_SCOUT};

Callers 2

Disaster_CoalMine_InitFunction · 0.85

Calls 8

EnsureNoVehicleOnGroundFunction · 0.85
GetTileTypeFunction · 0.85
GetTileOwnerFunction · 0.85
IsRailDepotFunction · 0.85
UpdateSignalsInBufferFunction · 0.85
DoClearSquareFunction · 0.85
FailedMethod · 0.80
RestoreMethod · 0.45

Tested by

no test coverage detected