--- deliantra/server/include/player.h 2006/08/13 17:16:02 1.4 +++ deliantra/server/include/player.h 2006/08/27 17:59:26 1.8 @@ -106,11 +106,9 @@ uint32 kills; } partylist; -// the layout of this structure cnanot be changed unless adjusting the inialisation code -// in server/player.c:get_player has been verified. -typedef struct pl { - struct pl *next; /* Pointer to next player, NULL if this is last */ - NewSocket socket; /* Socket information for this player */ +// memsettable part of player +struct player_memset +{ object *ob; /* The object representing the player */ mapstruct *loading; /* When entering a map in progress of loading, not really used */ rangetype shoottype; /* Which range-attack is being used by player */ @@ -213,4 +211,13 @@ /* Special DM fields */ tag_t* stack_items; /* Item stack for patch/dump/... commands */ int stack_position; /* Current stack position, 0 for no item */ +}; + +typedef struct pl : player_memset, attachable +{ + static data_type get_dt () { return DT_PLAYER; } + + struct pl *next; /* Pointer to next player, NULL if this is last */ + NewSocket socket; /* Socket information for this player */ } player; +