Re: Addendum to prior post (newbie crosspost)

From: Templar Viper (
Date: 06/25/02

From: "Mathew Earle Reuther" <>
> I should note that part of the code I didn't call attention to before is
> giving me an error, so I'd assume I incorrectly "pieced toegether" the two
> patches.
> db.c: In function `parse_object':
> db.c:1485: incompatible types in assignment

Permanent affects are not part of the original stock package, and are
not included in my updated 128bit patch (assuming you used it). Anyways, the
big question is here, how did you set up your GET_OBJ_PERM macro, and,
do you want it to have 32 bits or 128bits? Let's go for the 128 bits, since
the most logical I think. Let's grab the mob macro for 128bits:

#define MOB_FLAGGED(ch, flag) (IS_SET_AR(MOB_FLAGS(ch), (flag)))

and the stock should be something like this:

#define MOB_FLAGGED(ch) (IS_SET(MOB_FLAGS(ch)))

The 128bit patch actually cuts up the MOB array into 4 smaller pieces of 32
bytes. So, the prf_flags are saved like this (Just an example, not the real

 if (sscanf(line, "%s %s %s %s", f1, f2, f3, f4) != 4) {
   log("error, blahblahblah");
  MOB_FLAGS(mob_proto + i)[0] = asciiflag_conv(f1);
  MOB_FLAGS(mob_proto + i)[1] = asciiflag_conv(f2);
  MOB_FLAGS(mob_proto + i)[2] = asciiflag_conv(f3);
  MOB_FLAGS(mob_proto + i)[3] = asciiflag_conv(f4);

And the stock would be:

if (sscanf(line, "%s", f1) != 1) {
   log("error, blahblahblah");

MOB_FLAGS(mob_proto + i) = asciiflag_conv(f1);

Now back to the error, it's the compilers way of telling you're confusing
the 32 bits stuff and the 128bits stuff.

> Line 1485 is this one (code around it was included in my prior post, no
> need to waste time here):
>   GET_OBJ_PERM(obj_proto + i) = t[9];

Hope this helps, this should give you enough hints to fix your problem
me if wrong)

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

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