Files
@ r10585:02717b4646db
Branch filter:
Location: cpp/openttd-patchpack/source/src/cmd_helper.h - annotation
r10585:02717b4646db
801 B
text/x-c
(svn r14848) -Update: WebTranslator2 update to 2009-01-05 18:44:14
afrikaans - 11 fixed by Alrich (11)
arabic_egypt - 19 fixed, 21 changed by khaloofah (40)
danish - 40 fixed, 1 changed by ThomasA (41)
dutch - 2 fixed, 25 changed by Excel20 (27)
hebrew - 8 fixed by EScake (8)
hungarian - 18 fixed by alyr (18)
italian - 18 fixed by lorenzodv (18)
norwegian_bokmal - 3 fixed, 11 changed by khh (14)
norwegian_nynorsk - 8 fixed by Grilldyret (8)
polish - 3 fixed by xaxa (3)
portuguese - 7 fixed by SnowFlake (7)
urdu - 9 fixed by yasirniazkhan (9)
afrikaans - 11 fixed by Alrich (11)
arabic_egypt - 19 fixed, 21 changed by khaloofah (40)
danish - 40 fixed, 1 changed by ThomasA (41)
dutch - 2 fixed, 25 changed by Excel20 (27)
hebrew - 8 fixed by EScake (8)
hungarian - 18 fixed by alyr (18)
italian - 18 fixed by lorenzodv (18)
norwegian_bokmal - 3 fixed, 11 changed by khh (14)
norwegian_nynorsk - 8 fixed by Grilldyret (8)
polish - 3 fixed by xaxa (3)
portuguese - 7 fixed by SnowFlake (7)
urdu - 9 fixed by yasirniazkhan (9)
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 r6134:aa2aee9f9144 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
|