Merge branch 'master' into jgrpp
Remove the viewport sign cache as this is now superseded by the kd tree implementation # Conflicts: # src/crashlog.cpp # src/lang/english.txt # src/misc.cpp # src/pathfinder/follow_track.hpp # src/pbs.cpp # src/rail_cmd.cpp # src/saveload/vehicle_sl.cpp # src/settings.cpp # src/settings_gui.cpp # src/ship_cmd.cpp # src/station.cpp # src/station_base.h # src/station_cmd.cpp # src/table/settings.ini # src/thread/thread_morphos.cpp # src/town_cmd.cpp # src/train_cmd.cpp # src/viewport.cpp # src/waypoint.cpp
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
#include "track_func.h"
|
||||
#include "road_type.h"
|
||||
#include "newgrf_engine.h"
|
||||
#include <deque>
|
||||
|
||||
struct RoadVehicle;
|
||||
|
||||
@@ -82,10 +83,30 @@ static const byte RV_OVERTAKE_TIMEOUT = 35;
|
||||
void RoadVehUpdateCache(RoadVehicle *v, bool same_length = false);
|
||||
void GetRoadVehSpriteSize(EngineID engine, uint &width, uint &height, int &xoffs, int &yoffs, EngineImageType image_type);
|
||||
|
||||
struct RoadVehPathCache {
|
||||
std::deque<TrackdirByte> td;
|
||||
std::deque<TileIndex> tile;
|
||||
|
||||
inline bool empty() const { return this->td.empty(); }
|
||||
|
||||
inline size_t size() const
|
||||
{
|
||||
assert(this->td.size() == this->tile.size());
|
||||
return this->td.size();
|
||||
}
|
||||
|
||||
inline void clear()
|
||||
{
|
||||
this->td.clear();
|
||||
this->tile.clear();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Buses, trucks and trams belong to this class.
|
||||
*/
|
||||
struct RoadVehicle FINAL : public GroundVehicle<RoadVehicle, VEH_ROAD> {
|
||||
RoadVehPathCache path; ///< Cached path.
|
||||
byte state; ///< @see RoadVehicleStates
|
||||
byte frame;
|
||||
uint16 blocked_ctr;
|
||||
@@ -129,6 +150,7 @@ struct RoadVehicle FINAL : public GroundVehicle<RoadVehicle, VEH_ROAD> {
|
||||
int GetEffectiveMaxSpeed() const;
|
||||
int GetDisplayEffectiveMaxSpeed() const { return this->GetEffectiveMaxSpeed() / 2; }
|
||||
int UpdateSpeed();
|
||||
void SetDestTile(TileIndex tile);
|
||||
|
||||
inline bool IsRoadVehicleOnLevelCrossing() const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user