I haven't implemented the changing of the structure types, but I have
added significantly to them. All I did then was modify db.c to account
for the change like this:
First, in structs.h, in the room structure, add
int new_value;
Then in parse_room, where it loads the room flags, do:
get_line(fl, line);
if (sscanf(line, " %d %s %d %d", t, flags, t + 2, t + 3) == 4)
{
/* t[0] is the zone number; ignored with the zone-file system */
world[room_nr].room_flags = asciiflag_conv(flags);
world[room_nr].sector_type = t[2];
world[room_hr].new_value = t[3];
}
else
if (sscanf(line, " %d %s %d", t, flags, t + 2) == 3)
{
/* t[0] is the zone number; ignored with the zone-file system */
world[room_nr].room_flags = asciiflag_conv(flags);
world[room_nr].sector_type = t[2];
world[room_nr].new_value = (a default value, if one isn't in the file);
}
else
{
fprintf(stderr, "Format error in room #%d\n", virtual_nr);
exit(1);
}
That way, you don't have to go through all your world files and change
each occurence, the code will recognize each of the different types.
I have done this all over db.c, not just in parse_room. Seems to work
fine for me.
Hope this was of any help (or provided a clue at all),
Rasdan
> That's a really good idea. Has anyone implemented this code or something
> similar to it?
>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
James C. Thomas Jr.
thomajam@ucs.orst.edu rasdan@necromium.com
If ya want to build, or code, check out:
finality.mudservices.com 5555
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
| Or send 'info circle' to majordomo@cspo.queensu.ca |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST