equal
deleted
inserted
replaced
15 #include "gfx.h" |
15 #include "gfx.h" |
16 #include "sound.h" |
16 #include "sound.h" |
17 #include "depot.h" |
17 #include "depot.h" |
18 #include "pbs.h" |
18 #include "pbs.h" |
19 #include "debug.h" |
19 #include "debug.h" |
|
20 #include "ai/ai_event.h" |
20 |
21 |
21 /* When true, GetTrackStatus for roads will treat roads under reconstruction |
22 /* When true, GetTrackStatus for roads will treat roads under reconstruction |
22 * as normal roads instead of impassable. This is used when detecting whether |
23 * as normal roads instead of impassable. This is used when detecting whether |
23 * a road can be removed. This is of course ugly, but I don't know a better |
24 * a road can be removed. This is of course ugly, but I don't know a better |
24 * solution just like that... */ |
25 * solution just like that... */ |
669 MP_SETTYPE(MP_STREET) | |
670 MP_SETTYPE(MP_STREET) | |
670 MP_MAPOWNER_CURRENT | MP_MAP5, |
671 MP_MAPOWNER_CURRENT | MP_MAP5, |
671 (p1 | 0x20) /* map5 */ |
672 (p1 | 0x20) /* map5 */ |
672 ); |
673 ); |
673 |
674 |
|
675 ai_event(_current_player, ottd_Event_BuildDepot, dep->index, tile); |
|
676 ai_event(_current_player, ottd_Event_BuildRoadDepot, dep->index, tile); |
674 } |
677 } |
675 return cost + _price.build_road_depot; |
678 return cost + _price.build_road_depot; |
676 } |
679 } |
677 |
680 |
678 static int32 RemoveRoadDepot(TileIndex tile, uint32 flags) |
681 static int32 RemoveRoadDepot(TileIndex tile, uint32 flags) |
1154 } |
1157 } |
1155 } else if (GB(_m[tile].m5, 4, 4) == 2) { |
1158 } else if (GB(_m[tile].m5, 4, 4) == 2) { |
1156 if (v->type == VEH_Road && v->u.road.frame == 11) { |
1159 if (v->type == VEH_Road && v->u.road.frame == 11) { |
1157 if (_roadveh_enter_depot_unk0[GB(_m[tile].m5, 0, 2)] == v->u.road.state) { |
1160 if (_roadveh_enter_depot_unk0[GB(_m[tile].m5, 0, 2)] == v->u.road.state) { |
1158 RoadVehEnterDepot(v); |
1161 RoadVehEnterDepot(v); |
|
1162 |
|
1163 ai_event(v->owner, ottd_Event_VehicleEnterDepot, v->index, tile); |
|
1164 ai_event(v->owner, ottd_Event_RoadVehicleEnterDepot, v->index, tile); |
|
1165 |
1159 return 4; |
1166 return 4; |
1160 } |
1167 } |
1161 } |
1168 } |
1162 } |
1169 } |
1163 return 0; |
1170 return 0; |