/**************************************************************************
* File: prefedit.c Part of tbaMUD *
* Usage: Player-level OLC for setting preferences and toggles *
* *
* Created by Jamdog for tbaMUD 3.59 *
* All rights reserved. See license for complete information. *
* *
* Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University *
* CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991. *
**************************************************************************/
/* Toggle structure held for OLC purposes */
struct prefs_data
{
struct char_data *ch; /* Pointer to char being edited */
int pref_flags[PR_ARRAY_MAX]; /* Copy of player's pref flags */
int wimp_level; /* Copy of player's wimp level */
int page_length; /* Copy of player's pagelength */
int screen_width; /* Copy of player's screenwidth */
};
/* Prefedit utility macros */
/** Get the character being edited */
#define PREFEDIT_GET_CHAR (OLC_PREFS(d)->ch ? (OLC_PREFS(d)->ch) : (d->character))
/** Get a pointer to the pref toggles of the character being edited */
#define PREFEDIT_GET_FLAGS OLC_PREFS(d)->pref_flags
/** Get the wimpy level of the character being edited */
#define PREFEDIT_GET_WIMP_LEV OLC_PREFS(d)->wimp_level
/** Get the page length of the character being edited */
#define PREFEDIT_GET_PAGELENGTH OLC_PREFS(d)->page_length
/** Get the screen width of the character being edited */
#define PREFEDIT_GET_SCREENWIDTH OLC_PREFS(d)->screen_width
/** Get one of the flag array elements for the character being edited */
#define PREFEDIT_GET_FLAG(i) OLC_PREFS(d)->pref_flags[(i)]
/** Get the state of a flag (on/off) for the character being edited */
#define PREFEDIT_FLAGGED(flag) IS_SET_AR(PREFEDIT_GET_FLAGS, (flag))
/* Prefedit OLC sub-modes */
#define PREFEDIT_MAIN_MENU 0
#define PREFEDIT_PROMPT 1
#define PREFEDIT_COLOR 2
#define PREFEDIT_PAGELENGTH 3
#define PREFEDIT_SCREENWIDTH 4
#define PREFEDIT_WIMPY 5
#define PREFEDIT_CONFIRM_SAVE 6
#define PREFEDIT_SYSLOG 7
#define PREFEDIT_TOGGLE_MENU 8
/* External Functions in prefedit.c */
void prefedit_Restore_Defaults(struct descriptor_data *d);
void prefedit_parse(struct descriptor_data * d, char *arg);
ACMD(do_oasis_prefedit);