| Revision: | 1.10 |
| Committed: | Mon Dec 25 11:25:49 2006 UTC (19 years, 10 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 |