Go to the source code of this file.
Defines | |
#define | MAYBESHOW |
#define | CMD(a) void a (dbref player, void *data, char *buffer) |
#define | COMMAND_ADD(fname, letter, mod) |
#define | COMMAND_TOGGLE(fname, letter) |
#define | COMMAND_SET(fname, letter) |
#define | COMMANDS(bname, letter) |
#define | COMMANDSET(name) |
Functions | |
static coolmenu * | retrieve_matching_letter (coolmenu *c, char l) |
static void | update_entry (dbref player, coolmenu *c, char l, int val) |
static void | update_entry_toggle (dbref player, coolmenu *c, char l) |
static void | update_entry_set (dbref player, coolmenu *c, char l, char *buffer) |
#define CMD | ( | a | ) | void a (dbref player, void *data, char *buffer) |
Definition at line 113 of file coolmenu_interface2.h.
#define COMMAND_ADD | ( | fname, | |||
letter, | |||||
mod | ) |
Value:
CMD(fname) \ { DASMAGIC; DOCHECK(!c, "Huh?"); if (buffer && (strlen(buffer) > 1 || (buffer[0] && buffer[0] != ' '))) \ { if (atoi(buffer) > 0) \ update_entry(player, DASMAGIC2, letter, mod*atoi(buffer)); \ else \ notify(player, "Invalid argument!"); \ } else update_entry(player, DASMAGIC2, letter, mod*1); }
Definition at line 116 of file coolmenu_interface2.h.
#define COMMAND_SET | ( | fname, | |||
letter | ) |
Value:
CMD(fname) \ { DASMAGIC; DOCHECK(!c, "Huh?"); if (!(buffer && (strlen(buffer) > 1 || (buffer[0] && buffer[0] != ' ')))) notify(player, "Lack argument(s)!"); \ else update_entry_set(player, DASMAGIC2, letter, buffer); }
Definition at line 130 of file coolmenu_interface2.h.
#define COMMAND_TOGGLE | ( | fname, | |||
letter | ) |
Value:
CMD(fname) \ { DASMAGIC; DOCHECK(!c, "Huh?"); if (buffer && (strlen(buffer) > 1 || (buffer[0] && buffer[0] != ' '))) notify(player, "Invalid argument!"); \ else update_entry_toggle(player, DASMAGIC2, letter); }
Definition at line 125 of file coolmenu_interface2.h.
#define COMMANDS | ( | bname, | |||
letter | ) |
Value:
COMMAND_ADD(bname ## _add,letter,1); \ COMMAND_ADD(bname ## _minus,letter,-1); \ COMMAND_TOGGLE(bname ## _toggle,letter); \ COMMAND_SET(bname ## _set,letter);
Definition at line 135 of file coolmenu_interface2.h.
#define COMMANDSET | ( | name | ) |
Value:
COMMANDS(name ## _a,'a'); \ COMMANDS(name ## _b,'b'); \ COMMANDS(name ## _c,'c'); \ COMMANDS(name ## _d,'d'); \ COMMANDS(name ## _e,'e'); \ COMMANDS(name ## _f,'f'); \ COMMANDS(name ## _g,'g'); \ COMMANDS(name ## _h,'h'); \ COMMANDS(name ## _i,'i'); \ COMMANDS(name ## _j,'j'); \ COMMANDS(name ## _k,'k'); \ COMMANDS(name ## _l,'l'); \ COMMANDS(name ## _m,'m'); \ COMMANDS(name ## _n,'n'); \ COMMANDS(name ## _o,'o'); \ COMMANDS(name ## _p,'p'); \ COMMANDS(name ## _q,'q'); \ COMMANDS(name ## _r,'r'); \ COMMANDS(name ## _s,'s'); \ COMMANDS(name ## _t,'t'); \ COMMANDS(name ## _u,'u'); \ COMMANDS(name ## _v,'v'); \ COMMANDS(name ## _w,'w'); \ COMMANDS(name ## _x,'x'); \ COMMANDS(name ## _y,'y'); \ COMMANDS(name ## _z,'z');
Definition at line 141 of file coolmenu_interface2.h.
#define MAYBESHOW |
Definition at line 36 of file coolmenu_interface2.h.
Referenced by update_entry(), update_entry_set(), and update_entry_toggle().
Definition at line 15 of file coolmenu_interface2.h.
References c, coolmenu_type::letter, and coolmenu_type::next.
Referenced by update_entry(), update_entry_set(), and update_entry_toggle().
00016 { 00017 l = tolower(l); 00018 for (; c; c = c->next) 00019 if (c->letter == l) 00020 return c; 00021 return NULL; 00022 }
Definition at line 39 of file coolmenu_interface2.h.
References c, CM_NUMBER, DOCHECK, coolmenu_type::flags, coolmenu_type::maxvalue, MAYBESHOW, notify_printf(), retrieve_matching_letter(), coolmenu_type::text, and coolmenu_type::value.
00040 { 00041 int o; 00042 coolmenu *d = retrieve_matching_letter(c, l); 00043 00044 DOCHECK(!d, "Invalid letter!"); 00045 DOCHECK(c->flags & CM_NUMBER, "Invalid type of field!"); 00046 o = d->value; 00047 d->value += val; 00048 if (d->value < 0) { 00049 val = 0 - o; 00050 d->value = 0; 00051 } 00052 if (d->value > d->maxvalue) { 00053 val = d->maxvalue - o; 00054 d->value = d->maxvalue; 00055 } 00056 DOCHECK(!val, 00057 "Uh.. You think about changing something and then don't."); 00058 if (val > 0) 00059 notify_printf(player, "%s increased by %d to %d!", d->text, val, 00060 d->value); 00061 else 00062 notify_printf(player, "%s decreased by %d to %d!", d->text, 00063 0 - val, d->value); 00064 DASMAGIC3; 00065 MAYBESHOW; 00066 }
Definition at line 85 of file coolmenu_interface2.h.
References c, CM_NUMBER, CM_STRING, DOCHECK, coolmenu_type::flags, coolmenu_type::maxvalue, MAYBESHOW, notify_printf(), retrieve_matching_letter(), coolmenu_type::text, and coolmenu_type::value.
00087 { 00088 coolmenu *d = retrieve_matching_letter(c, l); 00089 int i; 00090 00091 DOCHECK(!d, "Invalid letter!"); 00092 DOCHECK(!(d->flags & (CM_STRING | CM_NUMBER)), 00093 "Invalid type of field!"); 00094 if (d->flags & CM_STRING) { 00095 if (d->text) 00096 free((void *) d->text); 00097 d->text = strdup(buffer); 00098 } else { 00099 i = atoi(buffer); 00100 if (i > d->maxvalue) 00101 i = d->maxvalue; 00102 DOCHECK(i < 0, 00103 "You consider a negative value, and then forget about it."); 00104 notify_printf(player, "%s set to %d!", d->text, i); 00105 d->value = i; 00106 } 00107 DASMAGIC3; 00108 MAYBESHOW; 00109 }
Definition at line 68 of file coolmenu_interface2.h.
References c, CM_TOGGLE, DOCHECK, coolmenu_type::flags, MAYBESHOW, notify_printf(), retrieve_matching_letter(), coolmenu_type::text, and coolmenu_type::value.
00069 { 00070 coolmenu *d = retrieve_matching_letter(c, l); 00071 00072 DOCHECK(!d, "Invalid letter!"); 00073 DOCHECK(!(d->flags & CM_TOGGLE), "Invalid type of field!"); 00074 #ifndef REAL_SNEAKY_SET 00075 if (d->value) 00076 notify_printf(player, "%s set off!", d->text); 00077 else 00078 notify_printf(player, "%s set on!", d->text); 00079 #endif 00080 d->value = !d->value; 00081 DASMAGIC3; 00082 MAYBESHOW; 00083 }