ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/traits.h
Revision: 1.17
Committed: Sun Jul 1 05:00:18 2007 UTC (16 years, 10 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.16: +11 -12 lines
Log Message:
- upgrade crossfire trt to the GPL version 3 (hopefully correctly).
- add a single file covered by the GNU Affero General Public License
  (which is not yet released, so I used the current draft, which is
  legally a bit wavy, but its likely better than nothing as it expresses
  direct intent by the authors, and we can upgrade as soon as it has been
  released).
  * this should ensure availability of source code for the server at least
    and hopefully also archetypes and maps even when modified versions
    are not being distributed, in accordance of section 13 of the agplv3.

File Contents

# Content
1 /*
2 * This file is part of Crossfire TRT, the Roguelike Realtime MORPG.
3 *
4 * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team
5 *
6 * Crossfire TRT is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * The authors can be reached via e-mail to <crossfire@schmorp.de>
20 */
21
22 #ifndef TRAITS_H__
23 #define TRAITS_H__
24
25 #include <inttypes.h>
26
27 typedef int8_t sint8;
28 typedef uint8_t uint8;
29 typedef int16_t sint16;
30 typedef uint16_t uint16;
31 typedef int32_t sint32;
32 typedef uint32_t uint32;
33 typedef int64_t sint64;
34 typedef uint64_t uint64;
35
36 typedef uint32_t tick_t;
37
38 const int sint32_digits = 11; // number of digits an sint32 uses max.
39 const int sint64_digits = 20;
40
41 struct client_container;
42 struct client;
43 struct player;
44 struct object;
45 struct maptile;
46 struct mapspace;
47 struct archetype;
48 struct region;
49 struct party;
50 struct treasurelist;
51 struct random_map_params;
52 struct faceinfo;
53
54 // could have used templates, but a more traditional C api
55 // uses more explicit typing which is ok for this purpose.
56 enum data_type
57 {
58 DT_END, // no further arguments
59 DT_AV, // perl-only av that needs to be flattened out
60 DT_INT,
61 DT_INT64,
62 DT_DOUBLE,
63 DT_STRING, // 0-terminated string
64 DT_DATA, // string + length
65 DT_ATTACHABLE, // will go
66 DT_OBJECT,
67 DT_MAP,
68 DT_CLIENT,
69 DT_PLAYER,
70 DT_ARCH,
71 DT_PARTY,
72 DT_REGION,
73
74 NUM_DATA_TYPES
75 };
76
77 #endif
78