containers and objects in special level descriptions

On mazelike levels, containers had to be listed before their objects.  But,
for roomfilled levels, containers had to be listed _after_ the objects.  All
our current levels that use containers with objects are mazelike, so I
changed the room behavior, updating the comment in lev_comp.y to match.
Other items/monsters are still processed in reverse on roomfilled special
levels, but I think this is OK.
This commit is contained in:
cohrs
2002-07-14 20:17:45 +00:00
parent 8768a69e49
commit 5d530348d4
3 changed files with 6 additions and 5 deletions

View File

@@ -165,6 +165,7 @@ in some situations, if hero stood still, a hostile dwarf would switch back
and forth between weapon and pick-axe and never move
uncontrolled teleports did not handle leashed pets
minetown fountain warnings shouldn't prevent finding gems/coins in fountain
order of container and objects was different for mazelike and roomfilled levels
Platform- and/or Interface-Specific Fixes

View File

@@ -1953,13 +1953,13 @@ dlb *fd;
} else
r->monsters = 0;
/* read the objects */
/* read the objects, in same order as mazes */
Fread((genericptr_t) &r->nobject, 1, sizeof(r->nobject), fd);
if ((n = r->nobject) != 0) {
r->objects = NewTab(object, n);
while (n--) {
r->objects[(int)n] = New(object);
load_one_object(fd, r->objects[(int)n]);
for (j = 0; j < n; ++j) {
r->objects[j] = New(object);
load_one_object(fd, r->objects[j]);
}
} else
r->objects = 0;

View File

@@ -877,7 +877,7 @@ object_detail : OBJECT_ID object_desc
}
| COBJECT_ID object_desc
{
/* 1: is contents of next object with 2 */
/* 1: is contents of preceeding object with 2 */
/* 2: is a container */
/* 0: neither */
tmpobj[nobj-1]->containment = 2;