Files
@ r24498:e9114d9ab04a
Branch filter:
Location: cpp/openttd-patchpack/source/src/order_func.h - annotation
r24498:e9114d9ab04a
1.7 KiB
text/x-c
Fix #6468: don't store version of AIs-started-via-console in name
You can do: "startai myai.3", which starts version 3 of "myai".
This is very useful for testing save/load code between different
versions of your AI.
However, when using this syntax, the AI got saved as "myai.3" as
name of the AI, instead of "myai". This caused several problems,
like indicating to the user the AI could not be found, but still
load the AI. But in all cases, the AI never got the chance to
load the saved data, making the whole reason this exists pointless.
By splitting the name and version already in the console command,
the code becomes simpler and AIs started this way now follow the
normal flow after initialization.
You can do: "startai myai.3", which starts version 3 of "myai".
This is very useful for testing save/load code between different
versions of your AI.
However, when using this syntax, the AI got saved as "myai.3" as
name of the AI, instead of "myai". This caused several problems,
like indicating to the user the AI could not be found, but still
load the AI. But in all cases, the AI never got the chance to
load the saved data, making the whole reason this exists pointless.
By splitting the name and version already in the console command,
the code becomes simpler and AIs started this way now follow the
normal flow after initialization.
r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r12465:c1b760a56db7 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r23367:7aa5d2e62188 r10184:9c5fe3a1bdab r8784:f3d6ba8eb078 r17296:56a65652cc58 r8827:6ee5217ef94b r17794:0cc19d7573b2 r9807:a5bd28dc9b6b r18647:b388bd59d544 r8784:f3d6ba8eb078 r13789:2cb30bca1f02 r8929:95c778aa13b0 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 r20038:7e99f805aa24 r8784:f3d6ba8eb078 r8784:f3d6ba8eb078 | /*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file order_func.h Functions related to orders. */
#ifndef ORDER_FUNC_H
#define ORDER_FUNC_H
#include "order_type.h"
#include "vehicle_type.h"
#include "company_type.h"
/* Functions */
void RemoveOrderFromAllVehicles(OrderType type, DestinationID destination, bool hangar = false);
void InvalidateVehicleOrder(const Vehicle *v, int data);
void CheckOrders(const Vehicle*);
void DeleteVehicleOrders(Vehicle *v, bool keep_orderlist = false, bool reset_order_indices = true);
bool ProcessOrders(Vehicle *v);
bool UpdateOrderDest(Vehicle *v, const Order *order, int conditional_depth = 0, bool pbs_look_ahead = false);
VehicleOrderID ProcessConditionalOrder(const Order *order, const Vehicle *v);
uint GetOrderDistance(const Order *prev, const Order *cur, const Vehicle *v, int conditional_depth = 0);
void DrawOrderString(const Vehicle *v, const Order *order, int order_index, int y, bool selected, bool timetable, int left, int middle, int right);
#define MIN_SERVINT_PERCENT 5
#define MAX_SERVINT_PERCENT 90
#define MIN_SERVINT_DAYS 30
#define MAX_SERVINT_DAYS 800
uint16 GetServiceIntervalClamped(uint interval, bool ispercent);
#endif /* ORDER_FUNC_H */
|