Wow, that was quick :P. Well, once again, I dont know too much about C, so thats that. I had downloaded AFKMud the other day, and so on a whim I did a search through the code. It is FILTHY with references to IS_EXIT_FLAG. So I found the line in mud.h and copied it over to the same general spot:
#define IS_EXIT_FLAG(var, bit) xIS_SET((var)->exit_info, (bit))
Well, I now longer get the imp dec errors anymore, instead i get:
error: request for member 'bits' in something not a structure or union
Everytime it calls IS_EXIT_FLAG. The code thats giving problems is this:
void print_compass( CHAR_DATA *ch )
{
EXIT_DATA *pexit;
int exit_info[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
static char * const exit_colors [] = { "&w", "&Y", "&C", "&b", "&w", "&R" };
for( pexit = ch->in_room->first_exit; pexit; pexit = pexit->next )
{
if( !pexit->to_room || IS_EXIT_FLAG( pexit, EX_HIDDEN ) ||
( IS_EXIT_FLAG( pexit, EX_SECRET ) && IS_EXIT_FLAG( pexit, EX_CLOSED ) ) )
continue;
if( IS_EXIT_FLAG( pexit, EX_WINDOW ) )
exit_info[pexit->vdir] = 2;
else if( IS_EXIT_FLAG( pexit, EX_SECRET ) )
exit_info[pexit->vdir] = 3;
else if( IS_EXIT_FLAG( pexit, EX_CLOSED ) )
exit_info[pexit->vdir] = 4;
else if( IS_EXIT_FLAG( pexit, EX_LOCKED ) )
exit_info[pexit->vdir] = 5;
else
exit_info[pexit->vdir] = 1;
}
set_char_color( AT_RMNAME, ch );
ch_printf_color( ch, "\n\r%s%-50s%s %s%s %s%s %s%s\n\r", MXP_ON(ch) ? MXP_TAG_ROOMNAME : "", ch->in_room->name,
MXP_ON(ch) ? MXP_TAG_ROOMNAME_CLOSE : "", exit_colors[exit_info[DIR_NORTHWEST]], exit_info[DIR_NORTHWEST] ? "NW" : "- ",
exit_colors[exit_info[DIR_NORTH]], exit_info[DIR_NORTH] ? "N" : "-", exit_colors[exit_info[DIR_NORTHEAST]],
exit_info[DIR_NORTHEAST] ? "NE" : " -" );
if( IS_IMMORTAL( ch ) && IS_PLR_FLAG( ch, PLR_ROOMVNUM ) )
ch_printf_color( ch, "&w-<---- &YVnum: %6d &w----------------------------->- ", ch->in_room->vnum );
else
send_to_char_color( "&w-<----------------------------------------------->- ", ch );
ch_printf_color( ch, "%s%s&w<-%s%s&w-&W(*)&w-%s%s&w->%s%s\n\r", exit_colors[exit_info[DIR_WEST]], exit_info[DIR_WEST] ? "W" : "-",
exit_colors[exit_info[DIR_UP]], exit_info[DIR_UP] ? "U" : "-", exit_colors[exit_info[DIR_DOWN]], exit_info[DIR_DOWN] ? "D" : "-",
exit_colors[exit_info[DIR_EAST]], exit_info[DIR_EAST] ? "E" : "-" );
ch_printf_color( ch, " %s%s %s%s %s%s\n\r\n\r",
exit_colors[exit_info[DIR_SOUTHWEST]], exit_info[DIR_SOUTHWEST] ? "SW" : "- ", exit_colors[exit_info[DIR_SOUTH]],
exit_info[DIR_SOUTH] ? "S" : "-", exit_colors[exit_info[DIR_SOUTHEAST]], exit_info[DIR_SOUTHEAST] ? "SE" : " -" );
return;
} |