equal
deleted
inserted
replaced
13 #include "variables.h" |
13 #include "variables.h" |
14 #include "train.h" |
14 #include "train.h" |
15 #include "aircraft.h" |
15 #include "aircraft.h" |
16 #include "newgrf_cargo.h" |
16 #include "newgrf_cargo.h" |
17 #include "group.h" |
17 #include "group.h" |
18 #include "misc/autoptr.hpp" |
|
19 #include "strings_func.h" |
18 #include "strings_func.h" |
20 #include "gfx_func.h" |
19 #include "gfx_func.h" |
21 #include "functions.h" |
20 #include "functions.h" |
22 #include "window_func.h" |
21 #include "window_func.h" |
23 #include "date_func.h" |
22 #include "date_func.h" |
511 if (er != NULL) { |
510 if (er != NULL) { |
512 if (flags & DC_EXEC) er->to = new_engine; |
511 if (flags & DC_EXEC) er->to = new_engine; |
513 return CommandCost(); |
512 return CommandCost(); |
514 } |
513 } |
515 |
514 |
516 er = new EngineRenew(old_engine, new_engine); |
515 if (!EngineRenew::CanAllocateItem()) return CMD_ERROR; |
517 if (er == NULL) return CMD_ERROR; |
|
518 AutoPtrT<EngineRenew> er_auto_delete = er; |
|
519 |
|
520 |
516 |
521 if (flags & DC_EXEC) { |
517 if (flags & DC_EXEC) { |
|
518 er = new EngineRenew(old_engine, new_engine); |
522 er->group_id = group; |
519 er->group_id = group; |
523 |
520 |
524 /* Insert before the first element */ |
521 /* Insert before the first element */ |
525 er->next = (EngineRenew *)(*erl); |
522 er->next = (EngineRenew *)(*erl); |
526 *erl = (EngineRenewList)er; |
523 *erl = (EngineRenewList)er; |
527 |
|
528 er_auto_delete.Detach(); |
|
529 } |
524 } |
530 |
525 |
531 return CommandCost(); |
526 return CommandCost(); |
532 } |
527 } |
533 |
528 |