(svn r7710) [cbh] - Fix: [YAPF] one more assert fixed. Call from the TrainController() added by (r7705) has broken YAPF because it was called when vehicle was already on the next tile (with cbh choice). Before it was always called before the train entered tile with choice.
/* $Id$ */
#ifndef YAPF_HPP
#define YAPF_HPP
#include "track_dir.hpp"
EXTERN_C_BEGIN
#include "../depot.h"
#include "../road_map.h"
#include "../tunnel_map.h"
#include "../bridge_map.h"
#include "../bridge.h"
#include "../station.h"
#include "../station_map.h"
#include "../vehicle.h"
#include "../date.h"
#include "../functions.h"
#include "yapf.h"
#include "../pathfind.h"
#include "../waypoint.h"
#include "../debug.h"
EXTERN_C_END
EXTERN_C_BEGIN
extern Patches _patches_newgame;
extern uint64 _rdtsc(void);
EXTERN_C_END
#include <limits.h>
#include <new>
#if defined(_WIN32) || defined(_WIN64)
# include <windows.h>
#else
# include <time.h>
#endif
struct CPerformanceTimer
{
int64 m_start;
int64 m_acc;
CPerformanceTimer() : m_start(0), m_acc(0) {}
FORCEINLINE void Start() {m_start = QueryTime();}
FORCEINLINE void Stop() {m_acc += QueryTime() - m_start;}
FORCEINLINE int Get(int64 coef) {return (int)(m_acc * coef / QueryFrequency());}
FORCEINLINE int64 QueryTime() {return _rdtsc();}
FORCEINLINE int64 QueryFrequency() {return ((int64)2200 * 1000000);}
};
struct CPerfStartReal
{
CPerformanceTimer* m_pperf;
FORCEINLINE CPerfStartReal(CPerformanceTimer& perf) : m_pperf(&perf) {if (m_pperf != NULL) m_pperf->Start();}
FORCEINLINE ~CPerfStartReal() {Stop();}
FORCEINLINE void Stop() {if (m_pperf != NULL) {m_pperf->Stop(); m_pperf = NULL;}}
};
struct CPerfStartFake
{
FORCEINLINE CPerfStartFake(CPerformanceTimer& perf) {}
FORCEINLINE ~CPerfStartFake() {}
FORCEINLINE void Stop() {}
};
typedef CPerfStartFake CPerfStart;
#include "crc32.hpp"
#include "blob.hpp"
#include "str.hpp"
const char* GetTrackdirName(Trackdir td);
CStrA GetTrackdirBitsName(TrackdirBits td_bits);
//#undef FORCEINLINE
//#define FORCEINLINE inline
#include "fixedsizearray.hpp"
#include "array.hpp"
#include "hashtable.hpp"
#include "binaryheap.hpp"
#include "nodelist.hpp"
#include "yapf_base.hpp"
#include "yapf_node.hpp"
#include "yapf_common.hpp"
#include "follow_track.hpp"
#include "yapf_costbase.hpp"
#include "yapf_costcache.hpp"
#endif /* YAPF_HPP */