Home | History | Annotate | Download | only in rogue

Lines Matching refs:pack

1 /*	$NetBSD: pack.c,v 1.12 2011/05/23 23:01:17 joerg Exp $	*/
38 static char sccsid[] = "@(#)pack.c 8.1 (Berkeley) 5/31/93";
40 __RCSID("$NetBSD: pack.c,v 1.12 2011/05/23 23:01:17 joerg Exp $");
45 * pack.c
66 add_to_pack(object *obj, object *pack, int condense)
71 if ((op = check_duplicate(obj, pack)) != NULL) {
78 if (pack->next_object == 0) {
79 pack->next_object = obj;
81 op = pack->next_object;
93 take_from_pack(object *obj, object *pack)
95 while (pack->next_object != obj) {
96 pack = pack->next_object;
98 pack->next_object = pack->next_object->next_object;
141 messagef(1, "pack too full");
146 obj = add_to_pack(obj, &rogue.pack, 1);
162 if (!rogue.pack.next_object) {
205 take_from_pack(obj, &rogue.pack);
214 check_duplicate(object *obj, object *pack)
224 op = pack->next_object;
256 obj = rogue.pack.next_object;
284 if (!mask_pack(&rogue.pack, mask)) {
304 inventory(&rogue.pack, mask);
475 obj = rogue.pack.next_object;
497 mask_pack(const object *pack, unsigned short mask)
499 while (pack->next_object) {
500 pack = pack->next_object;
501 if (pack->what_is & mask) {
548 return(mask_pack(&rogue.pack, AMULET));