ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/traits.h
Revision: 1.10
Committed: Mon Dec 25 11:25:49 2006 UTC (17 years, 5 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.9: +1 -63 lines
Log Message:
- small, but subtle, rewrite of object management
- perl will now keep attachable objects alive
- objects are now refcounted
- refcouts need to be tested explicitly (refcnt_chk)
- explicit destroy is required current
- explicit destroy asks "nicely" for the object to self destruct, if possible
- refcounts will be used during mortal killing
- minor bugfixes, optimisations etc.
- some former hacks removed.

File Contents

# Content
1 #ifndef TRAITS_H__
2 #define TRAITS_H__
3
4 struct client_container;
5 struct client;
6 struct player;
7 struct object;
8 struct maptile;
9 struct mapspace;
10 struct archetype;
11 struct region;
12 struct party;
13 struct treasurelist;
14
15 // could have used templates, but a more traditional C api
16 // uses more explicit typing which is ok for this purpose.
17 enum data_type
18 {
19 DT_END, // no further arguments
20 DT_AV, // perl-only av that needs to be flattened out
21 DT_INT,
22 DT_INT64,
23 DT_DOUBLE,
24 DT_STRING, // 0-terminated string
25 DT_DATA, // string + length
26 DT_ATTACHABLE, // will go
27 DT_OBJECT,
28 DT_MAP,
29 DT_CLIENT,
30 DT_PLAYER,
31 DT_ARCH,
32 DT_PARTY,
33 DT_REGION,
34
35 NUM_DATA_TYPES
36 };
37
38 #endif
39