Files
@ r12162:c4894f5339c3
Branch filter:
Location: cpp/openttd-patchpack/source/src/cmd_helper.h - annotation
r12162:c4894f5339c3
804 B
text/x-c
(svn r16583) -Update: the order of the language files so it's in sync with english.txt. Normally WT2 would do this, but only with activity for those languages. Now we'd like to the order to match so we can more easily spot import bugs while developing WT3.
r6134:aa2aee9f9144 r6134:aa2aee9f9144 r9111:983de9c5a848 r9111:983de9c5a848 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r8100:d1eb5523ede7 r8102:c3f2dd9e9116 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r8128:cb6a1c656647 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r11363:6906c490a00e r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 r6134:aa2aee9f9144 | /* $Id$ */
/** @file cmd_helper.h Helper functions to extract data from command parameters. */
#ifndef CMD_HELPER_H
#define CMD_HELPER_H
#include "direction_type.h"
#include "road_type.h"
template<uint N> static inline void ExtractValid();
template<> inline void ExtractValid<1>() {}
template<typename T> struct ExtractBits;
template<> struct ExtractBits<Axis> { static const uint Count = 1; };
template<> struct ExtractBits<DiagDirection> { static const uint Count = 2; };
template<> struct ExtractBits<RoadBits> { static const uint Count = 4; };
template<typename T, uint N, typename U> static inline T Extract(U v)
{
/* Check if there are enough bits in v */
ExtractValid<N + ExtractBits<T>::Count <= sizeof(U) * 8>();
return (T)GB(v, N, ExtractBits<T>::Count);
}
#endif
|