mirror of
https://github.com/tbamud/tbamud.git
synced 2025-12-29 21:48:49 +01:00
60 lines
2.7 KiB
C
Executable file
60 lines
2.7 KiB
C
Executable file
/**************************************************************************
|
|
* 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);
|
|
|