equal
deleted
inserted
replaced
156 |
156 |
157 DisasterVehicleUpdateImage(v); |
157 DisasterVehicleUpdateImage(v); |
158 VehiclePositionChanged(v); |
158 VehiclePositionChanged(v); |
159 EndVehicleMove(v); |
159 EndVehicleMove(v); |
160 |
160 |
161 if ((u = v->next) != NULL) { |
161 if ((u = v->Next()) != NULL) { |
162 int safe_x = clamp(x, 0, MapMaxX() * TILE_SIZE); |
162 int safe_x = clamp(x, 0, MapMaxX() * TILE_SIZE); |
163 int safe_y = clamp(y - 1, 0, MapMaxY() * TILE_SIZE); |
163 int safe_y = clamp(y - 1, 0, MapMaxY() * TILE_SIZE); |
164 BeginVehicleMove(u); |
164 BeginVehicleMove(u); |
165 |
165 |
166 u->x_pos = x; |
166 u->x_pos = x; |
171 |
171 |
172 DisasterVehicleUpdateImage(u); |
172 DisasterVehicleUpdateImage(u); |
173 VehiclePositionChanged(u); |
173 VehiclePositionChanged(u); |
174 EndVehicleMove(u); |
174 EndVehicleMove(u); |
175 |
175 |
176 if ((u = u->next) != NULL) { |
176 if ((u = u->Next()) != NULL) { |
177 BeginVehicleMove(u); |
177 BeginVehicleMove(u); |
178 u->x_pos = x; |
178 u->x_pos = x; |
179 u->y_pos = y; |
179 u->y_pos = y; |
180 u->z_pos = z + 5; |
180 u->z_pos = z + 5; |
181 VehiclePositionChanged(u); |
181 VehiclePositionChanged(u); |
609 u->u.disaster.big_ufo_destroyer_target = v->index; |
609 u->u.disaster.big_ufo_destroyer_target = v->index; |
610 |
610 |
611 w = new DisasterVehicle(); |
611 w = new DisasterVehicle(); |
612 if (w == NULL) return; |
612 if (w == NULL) return; |
613 |
613 |
614 u->next = w; |
614 u->SetNext(w); |
615 InitializeDisasterVehicle(w, -6 * TILE_SIZE, v->y_pos, 0, DIR_SW, ST_Big_Ufo_Destroyer_Shadow); |
615 InitializeDisasterVehicle(w, -6 * TILE_SIZE, v->y_pos, 0, DIR_SW, ST_Big_Ufo_Destroyer_Shadow); |
616 w->vehstatus |= VS_SHADOW; |
616 w->vehstatus |= VS_SHADOW; |
617 } else if (v->current_order.dest == 0) { |
617 } else if (v->current_order.dest == 0) { |
618 int x = TileX(v->dest_tile) * TILE_SIZE; |
618 int x = TileX(v->dest_tile) * TILE_SIZE; |
619 int y = TileY(v->dest_tile) * TILE_SIZE; |
619 int y = TileY(v->dest_tile) * TILE_SIZE; |
780 InitializeDisasterVehicle(v, x, 0, 135, DIR_SE, ST_Zeppeliner); |
780 InitializeDisasterVehicle(v, x, 0, 135, DIR_SE, ST_Zeppeliner); |
781 |
781 |
782 /* Allocate shadow too? */ |
782 /* Allocate shadow too? */ |
783 u = new DisasterVehicle(); |
783 u = new DisasterVehicle(); |
784 if (u != NULL) { |
784 if (u != NULL) { |
785 v->next = u; |
785 v->SetNext(u); |
786 InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Zeppeliner_Shadow); |
786 InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Zeppeliner_Shadow); |
787 u->vehstatus |= VS_SHADOW; |
787 u->vehstatus |= VS_SHADOW; |
788 } |
788 } |
789 } |
789 } |
790 |
790 |
805 v->age = 0; |
805 v->age = 0; |
806 |
806 |
807 /* Allocate shadow too? */ |
807 /* Allocate shadow too? */ |
808 u = new DisasterVehicle(); |
808 u = new DisasterVehicle(); |
809 if (u != NULL) { |
809 if (u != NULL) { |
810 v->next = u; |
810 v->SetNext(u); |
811 InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Small_Ufo_Shadow); |
811 InitializeDisasterVehicle(u, x, 0, 0, DIR_SE, ST_Small_Ufo_Shadow); |
812 u->vehstatus |= VS_SHADOW; |
812 u->vehstatus |= VS_SHADOW; |
813 } |
813 } |
814 } |
814 } |
815 |
815 |
841 |
841 |
842 InitializeDisasterVehicle(v, x, y, 135, DIR_NE, ST_Airplane); |
842 InitializeDisasterVehicle(v, x, y, 135, DIR_NE, ST_Airplane); |
843 |
843 |
844 u = new DisasterVehicle(); |
844 u = new DisasterVehicle(); |
845 if (u != NULL) { |
845 if (u != NULL) { |
846 v->next = u; |
846 v->SetNext(u); |
847 InitializeDisasterVehicle(u, x, y, 0, DIR_SE, ST_Airplane_Shadow); |
847 InitializeDisasterVehicle(u, x, y, 0, DIR_SE, ST_Airplane_Shadow); |
848 u->vehstatus |= VS_SHADOW; |
848 u->vehstatus |= VS_SHADOW; |
849 } |
849 } |
850 } |
850 } |
851 |
851 |
876 |
876 |
877 InitializeDisasterVehicle(v, x, y, 135, DIR_SW, ST_Helicopter); |
877 InitializeDisasterVehicle(v, x, y, 135, DIR_SW, ST_Helicopter); |
878 |
878 |
879 u = new DisasterVehicle(); |
879 u = new DisasterVehicle(); |
880 if (u != NULL) { |
880 if (u != NULL) { |
881 v->next = u; |
881 v->SetNext(u); |
882 InitializeDisasterVehicle(u, x, y, 0, DIR_SW, ST_Helicopter_Shadow); |
882 InitializeDisasterVehicle(u, x, y, 0, DIR_SW, ST_Helicopter_Shadow); |
883 u->vehstatus |= VS_SHADOW; |
883 u->vehstatus |= VS_SHADOW; |
884 |
884 |
885 w = new DisasterVehicle(); |
885 w = new DisasterVehicle(); |
886 if (w != NULL) { |
886 if (w != NULL) { |
887 u->next = w; |
887 u->SetNext(w); |
888 InitializeDisasterVehicle(w, x, y, 140, DIR_SW, ST_Helicopter_Rotors); |
888 InitializeDisasterVehicle(w, x, y, 140, DIR_SW, ST_Helicopter_Rotors); |
889 } |
889 } |
890 } |
890 } |
891 } |
891 } |
892 |
892 |
908 v->age = 0; |
908 v->age = 0; |
909 |
909 |
910 /* Allocate shadow too? */ |
910 /* Allocate shadow too? */ |
911 u = new DisasterVehicle(); |
911 u = new DisasterVehicle(); |
912 if (u != NULL) { |
912 if (u != NULL) { |
913 v->next = u; |
913 v->SetNext(u); |
914 InitializeDisasterVehicle(u, x, y, 0, DIR_NW, ST_Big_Ufo_Shadow); |
914 InitializeDisasterVehicle(u, x, y, 0, DIR_NW, ST_Big_Ufo_Shadow); |
915 u->vehstatus |= VS_SHADOW; |
915 u->vehstatus |= VS_SHADOW; |
916 } |
916 } |
917 } |
917 } |
918 |
918 |