mirror of https://github.com/OpenTTD/OpenTTD
(svn r24442) -Codechange: Split some members of Vehicle into a new class BaseConsist.
parent
77b5e72541
commit
4c9f65800b
|
@ -317,6 +317,7 @@
|
||||||
<ClCompile Include="..\src\fileio.cpp" />
|
<ClCompile Include="..\src\fileio.cpp" />
|
||||||
<ClCompile Include="..\src\fios.cpp" />
|
<ClCompile Include="..\src\fios.cpp" />
|
||||||
<ClCompile Include="..\src\fontcache.cpp" />
|
<ClCompile Include="..\src\fontcache.cpp" />
|
||||||
|
<ClCompile Include="..\src\base_consist.cpp" />
|
||||||
<ClCompile Include="..\src\gamelog.cpp" />
|
<ClCompile Include="..\src\gamelog.cpp" />
|
||||||
<ClCompile Include="..\src\genworld.cpp" />
|
<ClCompile Include="..\src\genworld.cpp" />
|
||||||
<ClCompile Include="..\src\gfx.cpp" />
|
<ClCompile Include="..\src\gfx.cpp" />
|
||||||
|
@ -439,6 +440,7 @@
|
||||||
<ClInclude Include="..\src\fileio_type.h" />
|
<ClInclude Include="..\src\fileio_type.h" />
|
||||||
<ClInclude Include="..\src\fios.h" />
|
<ClInclude Include="..\src\fios.h" />
|
||||||
<ClInclude Include="..\src\fontcache.h" />
|
<ClInclude Include="..\src\fontcache.h" />
|
||||||
|
<ClInclude Include="..\src\base_consist.h" />
|
||||||
<ClInclude Include="..\src\gamelog.h" />
|
<ClInclude Include="..\src\gamelog.h" />
|
||||||
<ClInclude Include="..\src\gamelog_internal.h" />
|
<ClInclude Include="..\src\gamelog_internal.h" />
|
||||||
<ClInclude Include="..\src\genworld.h" />
|
<ClInclude Include="..\src\genworld.h" />
|
||||||
|
|
|
@ -180,6 +180,9 @@
|
||||||
<ClCompile Include="..\src\fontcache.cpp">
|
<ClCompile Include="..\src\fontcache.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\base_consist.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="..\src\gamelog.cpp">
|
<ClCompile Include="..\src\gamelog.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -546,6 +549,9 @@
|
||||||
<ClInclude Include="..\src\fontcache.h">
|
<ClInclude Include="..\src\fontcache.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\src\base_consist.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\src\gamelog.h">
|
<ClInclude Include="..\src\gamelog.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
|
@ -538,6 +538,10 @@
|
||||||
RelativePath=".\..\src\fontcache.cpp"
|
RelativePath=".\..\src\fontcache.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\base_consist.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\gamelog.cpp"
|
RelativePath=".\..\src\gamelog.cpp"
|
||||||
>
|
>
|
||||||
|
@ -1030,6 +1034,10 @@
|
||||||
RelativePath=".\..\src\fontcache.h"
|
RelativePath=".\..\src\fontcache.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\base_consist.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\gamelog.h"
|
RelativePath=".\..\src\gamelog.h"
|
||||||
>
|
>
|
||||||
|
|
|
@ -535,6 +535,10 @@
|
||||||
RelativePath=".\..\src\fontcache.cpp"
|
RelativePath=".\..\src\fontcache.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\base_consist.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\gamelog.cpp"
|
RelativePath=".\..\src\gamelog.cpp"
|
||||||
>
|
>
|
||||||
|
@ -1027,6 +1031,10 @@
|
||||||
RelativePath=".\..\src\fontcache.h"
|
RelativePath=".\..\src\fontcache.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\..\src\base_consist.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\src\gamelog.h"
|
RelativePath=".\..\src\gamelog.h"
|
||||||
>
|
>
|
||||||
|
|
|
@ -25,6 +25,7 @@ engine.cpp
|
||||||
fileio.cpp
|
fileio.cpp
|
||||||
fios.cpp
|
fios.cpp
|
||||||
fontcache.cpp
|
fontcache.cpp
|
||||||
|
base_consist.cpp
|
||||||
gamelog.cpp
|
gamelog.cpp
|
||||||
genworld.cpp
|
genworld.cpp
|
||||||
gfx.cpp
|
gfx.cpp
|
||||||
|
@ -172,6 +173,7 @@ fileio_func.h
|
||||||
fileio_type.h
|
fileio_type.h
|
||||||
fios.h
|
fios.h
|
||||||
fontcache.h
|
fontcache.h
|
||||||
|
base_consist.h
|
||||||
gamelog.h
|
gamelog.h
|
||||||
gamelog_internal.h
|
gamelog_internal.h
|
||||||
genworld.h
|
genworld.h
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
/* $Id$ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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 base_consist.cpp Properties for front vehicles/consists. */
|
||||||
|
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "base_consist.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Copy properties of other BaseConsist.
|
||||||
|
* @param src Source for copying
|
||||||
|
*/
|
||||||
|
void BaseConsist::CopyConsistPropertiesFrom(const BaseConsist *src)
|
||||||
|
{
|
||||||
|
if (this == src) return;
|
||||||
|
|
||||||
|
this->service_interval = src->service_interval;
|
||||||
|
this->cur_real_order_index = src->cur_real_order_index;
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
/* $Id$ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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 base_consist.h Properties for front vehicles/consists. */
|
||||||
|
|
||||||
|
#ifndef BASE_CONSIST_H
|
||||||
|
#define BASE_CONSIST_H
|
||||||
|
|
||||||
|
#include "order_type.h"
|
||||||
|
#include "date_type.h"
|
||||||
|
|
||||||
|
/** Various front vehicle properties that are preserved when autoreplacing, using order-backup or switching front engines within a consist. */
|
||||||
|
struct BaseConsist {
|
||||||
|
Date service_interval; ///< The interval for (automatic) servicing; either in days or %.
|
||||||
|
VehicleOrderID cur_real_order_index;///< The index to the current real (non-implicit) order
|
||||||
|
|
||||||
|
void CopyConsistPropertiesFrom(const BaseConsist *src);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* BASE_CONSIST_H */
|
|
@ -21,6 +21,7 @@
|
||||||
#include "order_func.h"
|
#include "order_func.h"
|
||||||
#include "transport_type.h"
|
#include "transport_type.h"
|
||||||
#include "group_type.h"
|
#include "group_type.h"
|
||||||
|
#include "base_consist.h"
|
||||||
|
|
||||||
/** Vehicle status bits in #Vehicle::vehstatus. */
|
/** Vehicle status bits in #Vehicle::vehstatus. */
|
||||||
enum VehStatus {
|
enum VehStatus {
|
||||||
|
@ -121,7 +122,7 @@ extern void FixOldVehicles();
|
||||||
struct GRFFile;
|
struct GRFFile;
|
||||||
|
|
||||||
/** %Vehicle data structure. */
|
/** %Vehicle data structure. */
|
||||||
struct Vehicle : VehiclePool::PoolItem<&_vehicle_pool>, BaseVehicle {
|
struct Vehicle : VehiclePool::PoolItem<&_vehicle_pool>, BaseVehicle, BaseConsist {
|
||||||
private:
|
private:
|
||||||
Vehicle *next; ///< pointer to the next vehicle in the chain
|
Vehicle *next; ///< pointer to the next vehicle in the chain
|
||||||
Vehicle *previous; ///< NOSAVE: pointer to the previous vehicle in the chain
|
Vehicle *previous; ///< NOSAVE: pointer to the previous vehicle in the chain
|
||||||
|
@ -173,7 +174,6 @@ public:
|
||||||
Date age; ///< Age in days
|
Date age; ///< Age in days
|
||||||
Date max_age; ///< Maximum age
|
Date max_age; ///< Maximum age
|
||||||
Date date_of_last_service; ///< Last date the vehicle had a service at a depot.
|
Date date_of_last_service; ///< Last date the vehicle had a service at a depot.
|
||||||
Date service_interval; ///< The interval for (automatic) servicing; either in days or %.
|
|
||||||
uint16 reliability; ///< Reliability.
|
uint16 reliability; ///< Reliability.
|
||||||
uint16 reliability_spd_dec; ///< Reliability decrease speed.
|
uint16 reliability_spd_dec; ///< Reliability decrease speed.
|
||||||
byte breakdown_ctr; ///< Counter for managing breakdown events. @see Vehicle::HandleBreakdown
|
byte breakdown_ctr; ///< Counter for managing breakdown events. @see Vehicle::HandleBreakdown
|
||||||
|
@ -229,7 +229,6 @@ public:
|
||||||
|
|
||||||
byte vehstatus; ///< Status
|
byte vehstatus; ///< Status
|
||||||
Order current_order; ///< The current order (+ status, like: loading)
|
Order current_order; ///< The current order (+ status, like: loading)
|
||||||
VehicleOrderID cur_real_order_index;///< The index to the current real (non-implicit) order
|
|
||||||
VehicleOrderID cur_implicit_order_index;///< The index to the current implicit order
|
VehicleOrderID cur_implicit_order_index;///< The index to the current implicit order
|
||||||
|
|
||||||
union {
|
union {
|
||||||
|
@ -597,9 +596,10 @@ public:
|
||||||
*/
|
*/
|
||||||
inline void CopyVehicleConfigAndStatistics(const Vehicle *src)
|
inline void CopyVehicleConfigAndStatistics(const Vehicle *src)
|
||||||
{
|
{
|
||||||
|
this->CopyConsistPropertiesFrom(src);
|
||||||
|
|
||||||
this->unitnumber = src->unitnumber;
|
this->unitnumber = src->unitnumber;
|
||||||
|
|
||||||
this->cur_real_order_index = src->cur_real_order_index;
|
|
||||||
this->cur_implicit_order_index = src->cur_implicit_order_index;
|
this->cur_implicit_order_index = src->cur_implicit_order_index;
|
||||||
this->current_order = src->current_order;
|
this->current_order = src->current_order;
|
||||||
this->dest_tile = src->dest_tile;
|
this->dest_tile = src->dest_tile;
|
||||||
|
@ -614,8 +614,6 @@ public:
|
||||||
if (HasBit(src->vehicle_flags, VF_TIMETABLE_STARTED)) SetBit(this->vehicle_flags, VF_TIMETABLE_STARTED);
|
if (HasBit(src->vehicle_flags, VF_TIMETABLE_STARTED)) SetBit(this->vehicle_flags, VF_TIMETABLE_STARTED);
|
||||||
if (HasBit(src->vehicle_flags, VF_AUTOFILL_TIMETABLE)) SetBit(this->vehicle_flags, VF_AUTOFILL_TIMETABLE);
|
if (HasBit(src->vehicle_flags, VF_AUTOFILL_TIMETABLE)) SetBit(this->vehicle_flags, VF_AUTOFILL_TIMETABLE);
|
||||||
if (HasBit(src->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME)) SetBit(this->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME);
|
if (HasBit(src->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME)) SetBit(this->vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME);
|
||||||
|
|
||||||
this->service_interval = src->service_interval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue