Re: question on room flags

From: Patrick Dughi (
Date: 01/19/02

> I have a ROOM_NEWBIE flag added like this:
> structs.h
> #define ROOM_BFS_MARK  (1 << 15)  /* (R) breath-first srch mrk */
> #define ROOM_NEWBIE  (1 << 16)
> then in constants.c
>   "*",    /* BFS MARK */
>   "NEWBIE",
>   "\n"
> };
> the problem I'm having though it that it seems Room Flags only go up to 15
> through Oasis OLC and when I try an redit I seem to only get up to the BFS
> Mark.  I know I can redit my source code and just eliminate one of the room
> flags, but I was wondering on how to create maybe a ROOM2_NEWBIE flag and
> add two room flags, or adding more than 15 Room flags.

        Look for something like "NUM_ROOM_FLAGS" in olc.h (or similar
file, oasis.h, etc) and increment it by one.  Easy to miss, but you could
also try looking through the code for the array in question
('room_bits[]').  Since you know it's in redit, and it's only used in 2
functions, I'm sure you could have found it rather quickly yourself, if
you just looked..

        Code isn't too magical :)

        Don't worry if you're not sure where to start - next project you
tackle, you'll know what to do.  You've already been able to nail down the
logic to make your own room flag, just barely got stuck on this minor

        As for the second array of flags, I don't recommend that just yet,
until you're comfortable with the code and understand the mechanics
required to either use two bitvectors, or the masked 128 bitvector idea.

  It'll take a bit to run out of the 32 flags you're alloted anyway, so
don't worry about it for a while.


   | FAQ: |
   | Archives: |
   | Newbie List:   |

This archive was generated by hypermail 2b30 : 06/25/03 PDT