Re: flags.

From: Lincoln Chan (linc@CSUA.Berkeley.EDU)
Date: 03/12/95


You should make an attempt to look at the code completely before
asking such questions.  Many imps decide to run a mud, and end up
asking very newbie-ish questions because they either don't know
enough C to understand the code, or don't sift through the whole
code at least ONCE just to experience the majesty of CircleMUD.

If you look in db.c, you'll see a neat subroutine called parse_object
which basically loads each and every object in the files listed in
the index.  In the scanf's, the function loads the numbers/letters.
The function asciiflag_conv() basically converts the letters into
usable numbers.

BTW, looking in structs.h:

     (1 << 0) is not A, but a.
     (1 << 1) is b
     (1 << 2) is c
     (1 << 24) is y
     (1 << 25) is z
     (1 << 26) is A
     (1 << 27) is B

I hope this helps you, but my point is that you could have answered your
own question if you spend a little more time looking at the whole src
directory and attempt to make some links of the various functions and
subroutines in the game.


PS:  I'm using Ultrix 4.4 and gcc 2.6.3 and found this problem.  It might
     be a system wide bug:  act.informative.c ACMD(do_look);
     I don't think you want to do a (is_abbrev(arg, "in")) boolean check
     because...what if someone is called "InXXXXXX" such as "Inherent".
     This, of course, applies to (is_abbrev(arg, "at")) as well.  I fixed
     the problem in my subroutine by replacing is_abbrev with !str_cmp.
     Hope this helps some people.

This archive was generated by hypermail 2b30 : 12/07/00 PST