1 | #ifndef TRAITS_H__ |
1 | #ifndef TRAITS_H__ |
2 | #define TRAITS_H__ |
2 | #define TRAITS_H__ |
3 | |
3 | |
|
|
4 | struct client_container; |
|
|
5 | struct client; |
4 | struct player; |
6 | struct player; |
5 | struct object; |
7 | struct object; |
6 | struct maptile; |
8 | struct maptile; |
7 | struct archetype; |
9 | struct archetype; |
8 | struct region; |
10 | struct region; |
… | |
… | |
20 | DT_DOUBLE, |
22 | DT_DOUBLE, |
21 | DT_STRING, // 0-terminated string |
23 | DT_STRING, // 0-terminated string |
22 | DT_DATA, // string + length |
24 | DT_DATA, // string + length |
23 | DT_OBJECT, |
25 | DT_OBJECT, |
24 | DT_MAP, |
26 | DT_MAP, |
|
|
27 | DT_CLIENT, |
25 | DT_PLAYER, |
28 | DT_PLAYER, |
26 | DT_ARCH, |
29 | DT_ARCH, |
27 | DT_PARTY, |
30 | DT_PARTY, |
28 | DT_REGION, |
31 | DT_REGION, |
29 | |
32 | |
… | |
… | |
57 | struct cftype<object> { |
60 | struct cftype<object> { |
58 | static const data_type dt = DT_OBJECT; |
61 | static const data_type dt = DT_OBJECT; |
59 | }; |
62 | }; |
60 | |
63 | |
61 | template<> |
64 | template<> |
|
|
65 | struct cftype<client> { |
|
|
66 | static const data_type dt = DT_CLIENT; |
|
|
67 | }; |
|
|
68 | |
|
|
69 | template<> |
62 | struct cftype<player> { |
70 | struct cftype<player> { |
63 | static const data_type dt = DT_PLAYER; |
71 | static const data_type dt = DT_PLAYER; |
64 | }; |
72 | }; |
65 | |
73 | |
66 | template<> |
74 | template<> |