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. |
# | 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 |