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

# User Rev Content
1 root 1.1 #ifndef TRAITS_H__
2     #define TRAITS_H__
3    
4 root 1.8 struct client_container;
5 root 1.6 struct client;
6 root 1.4 struct player;
7 root 1.1 struct object;
8 root 1.4 struct maptile;
9 root 1.9 struct mapspace;
10 root 1.3 struct archetype;
11 root 1.1 struct region;
12     struct party;
13 root 1.4 struct treasurelist;
14 root 1.1
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 root 1.10 DT_ATTACHABLE, // will go
27 root 1.1 DT_OBJECT,
28     DT_MAP,
29 root 1.7 DT_CLIENT,
30 root 1.1 DT_PLAYER,
31     DT_ARCH,
32     DT_PARTY,
33     DT_REGION,
34    
35     NUM_DATA_TYPES
36     };
37    
38     #endif
39