From 66bbf336c6af7353ef0aeed58002c46543b30635 Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 2 Jan 2007 19:19:48 +0000 Subject: (svn r7759) -Merge: makefile rewrite. This merge features: - A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy. --- src/yapf/yapf.hpp | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 src/yapf/yapf.hpp (limited to 'src/yapf/yapf.hpp') diff --git a/src/yapf/yapf.hpp b/src/yapf/yapf.hpp new file mode 100644 index 000000000..208f29c46 --- /dev/null +++ b/src/yapf/yapf.hpp @@ -0,0 +1,93 @@ +/* $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 +#include + +#if defined(_WIN32) || defined(_WIN64) +# include +#else +# include +#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; + + +//#undef FORCEINLINE +//#define FORCEINLINE inline + +#include "crc32.hpp" +#include "blob.hpp" +#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 */ -- cgit v1.2.3-54-g00ecf