--- deliantra/server/include/traits.h 2006/12/20 09:14:22 1.8 +++ deliantra/server/include/traits.h 2007/06/06 05:41:26 1.16 @@ -1,15 +1,56 @@ +/* + * This file is part of Crossfire TRT, the Multiplayer Online Role Playing Game. + * + * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team + * + * Crossfire TRT is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with Crossfire TRT; if not, write to the Free Software Foundation, Inc. 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * The authors can be reached via e-mail to + */ + #ifndef TRAITS_H__ #define TRAITS_H__ +#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; + +typedef uint32_t tick_t; + +const int sint32_digits = 11; // number of digits an sint32 uses max. +const int sint64_digits = 20; + struct client_container; struct client; struct player; struct object; struct maptile; +struct mapspace; struct archetype; struct region; struct party; struct treasurelist; +struct random_map_params; +struct faceinfo; // could have used templates, but a more traditional C api // uses more explicit typing which is ok for this purpose. @@ -22,6 +63,7 @@ DT_DOUBLE, DT_STRING, // 0-terminated string DT_DATA, // string + length + DT_ATTACHABLE, // will go DT_OBJECT, DT_MAP, DT_CLIENT, @@ -33,68 +75,5 @@ NUM_DATA_TYPES }; -template -struct cftype { }; - -template<> -struct cftype { - static const data_type dt = DT_INT; -}; - -template<> -struct cftype { - static const data_type dt = DT_INT64; -}; - -template<> -struct cftype { - static const data_type dt = DT_DOUBLE; -}; - -template<> -struct cftype { - static const data_type dt = DT_STRING; -}; - -template<> -struct cftype { - static const data_type dt = DT_OBJECT; -}; - -template<> -struct cftype { - static const data_type dt = DT_CLIENT; -}; - -template<> -struct cftype { - static const data_type dt = DT_PLAYER; -}; - -template<> -struct cftype { - static const data_type dt = DT_MAP; -}; - -template<> -struct cftype { - static const data_type dt = DT_ARCH; -}; - -template<> -struct cftype { - static const data_type dt = DT_PARTY; -}; - -template<> -struct cftype { - static const data_type dt = DT_REGION; -}; - -template<> -struct cftype { - static const data_type dt = DT_REGION; -}; - #endif