change the way exit flags work from being an int to a bit field. If
you move EX_PICKPROOF to (1<<1) you will not have to change the world
format at all. (pickproof will have to be coded so that it
automatically inserts EX_ISADOOR for sanity's sake) I ran into this
when adding a secret flag to the doors and was going to add a magic
wall types that I wanted to have save to the doors. right now doors
just work in a freaky way.
the code for reading a door in a .wld file:
if (sscanf(line, " %d %d %d ", t, t + 1, t + 2) != 3)
{
fprintf(stderr, "Format error, %s\n", buf2);
exit(1);
}
if (t[0] == 1)
world[room].dir_option[dir]->exit_info = EX_ISDOOR;
else if (t[0] == 2)
world[room].dir_option[dir]->exit_info = EX_ISDOOR | EX_PICKPROOF;
else
world[room].dir_option[dir]->exit_info = 0;
EEEWWW!!!
should be a minor fix, going off to implment it now.
--Angus
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST