mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r25741) -Fix: shift join dates of link graph jobs when using the date cheat
This commit is contained in:
parent
f719b273d3
commit
bcbaa92485
|
@ -25,6 +25,7 @@
|
|||
#include "settings_gui.h"
|
||||
#include "company_gui.h"
|
||||
#include "linkgraph/linkgraph.h"
|
||||
#include "linkgraph/linkgraphjob.h"
|
||||
|
||||
#include "widgets/cheat_widget.h"
|
||||
|
||||
|
@ -104,6 +105,8 @@ static int32 ClickChangeDateCheat(int32 p1, int32 p2)
|
|||
Date new_date = ConvertYMDToDate(p1, ymd.month, ymd.day);
|
||||
LinkGraph *lg;
|
||||
FOR_ALL_LINK_GRAPHS(lg) lg->ShiftDates(new_date - _date);
|
||||
LinkGraphJob *lgj;
|
||||
FOR_ALL_LINK_GRAPH_JOBS(lgj) lgj->ShiftJoinDate(new_date - _date);
|
||||
SetDate(new_date, _date_fract);
|
||||
EnginesMonthlyLoop();
|
||||
SetWindowDirty(WC_STATUS_BAR, 0);
|
||||
|
|
|
@ -60,7 +60,7 @@ protected:
|
|||
const LinkGraph link_graph; ///< Link graph to by analyzed. Is copied when job is started and mustn't be modified later.
|
||||
const LinkGraphSettings settings; ///< Copy of _settings_game.linkgraph at spawn time.
|
||||
ThreadObject *thread; ///< Thread the job is running in or NULL if it's running in the main thread.
|
||||
const Date join_date; ///< Date when the job is to be joined.
|
||||
Date join_date; ///< Date when the job is to be joined.
|
||||
NodeAnnotationVector nodes; ///< Extra node data necessary for link graph calculation.
|
||||
EdgeAnnotationMatrix edges; ///< Extra edge data necessary for link graph calculation.
|
||||
|
||||
|
@ -281,6 +281,12 @@ public:
|
|||
*/
|
||||
inline Date JoinDate() const { return join_date; }
|
||||
|
||||
/**
|
||||
* Change the join date on date cheating.
|
||||
* @param interval Number of days to add.
|
||||
*/
|
||||
inline void ShiftJoinDate(int interval) { this->join_date += interval; }
|
||||
|
||||
/**
|
||||
* Get the link graph settings for this component.
|
||||
* @return Settings.
|
||||
|
|
Loading…
Reference in New Issue