--- deliantra/server/include/traits.h 2006/08/31 09:19:34 1.1 +++ deliantra/server/include/traits.h 2006/12/30 10:16:10 1.11 @@ -1,13 +1,27 @@ #ifndef TRAITS_H__ #define TRAITS_H__ -struct pl; +#include + +typedef int8_t sint8; +typedef uint8_t uint8; +typedef int16_t sint16; +typedef uint16_t uint16; +typedef int32_t sint32; +typedef uint32_t uint32; +typedef int64_t sint64; +typedef uint64_t uint64; + +struct client_container; +struct client; +struct player; struct object; -struct mapstruct; -struct archt; +struct maptile; +struct mapspace; +struct archetype; struct region; struct party; -struct mapstruct; +struct treasurelist; // could have used templates, but a more traditional C api // uses more explicit typing which is ok for this purpose. @@ -20,8 +34,10 @@ DT_DOUBLE, DT_STRING, // 0-terminated string DT_DATA, // string + length + DT_ATTACHABLE, // will go DT_OBJECT, DT_MAP, + DT_CLIENT, DT_PLAYER, DT_ARCH, DT_PARTY, @@ -30,58 +46,5 @@ NUM_DATA_TYPES }; -template -struct cftype { }; - -template<> -struct cftype { - enum { dt = DT_INT }; -}; - -template<> -struct cftype { - enum { dt = DT_INT64 }; -}; - -template<> -struct cftype { - enum { dt = DT_DOUBLE }; -}; - -template<> -struct cftype { - enum { dt = DT_STRING }; -}; - -template<> -struct cftype { - enum { dt = DT_OBJECT }; -}; - -template<> -struct cftype { - enum { dt = DT_PLAYER }; -}; - -template<> -struct cftype { - enum { dt = DT_MAP }; -}; - -template<> -struct cftype { - enum { dt = DT_ARCH }; -}; - -template<> -struct cftype { - enum { dt = DT_PARTY }; -}; - -template<> -struct cftype { - enum { dt = DT_REGION }; -}; - #endif