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