/* * Playground+ - shortcut.c * All shortcut commands (TELLPLAYER, ADDSTACK, ENDSTACK, LOGF etc.) * --------------------------------------------------------------------------- */ #include <stdio.h> #include <stdarg.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "include/config.h" #include "include/player.h" #include "include/proto.h" void LOGF(char *fil, char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); log(fil, oldstack); stack = oldstack; } void TELLPLAYER(player * pl, char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); tell_player(pl, oldstack); stack = oldstack; } void SUWALL(char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); su_wall(oldstack); stack = oldstack; } void AUWALL(char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); au_wall(oldstack); stack = oldstack; } void SEND_TO_DEBUG(char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); debug_wall(oldstack); stack = oldstack; } #ifdef HC_CHANNEL void HCWALL(char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); hc_wall(oldstack); stack = oldstack; } #endif void SW_BUT(player * but, char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); su_wall_but(but, oldstack); stack = oldstack; } void AW_BUT(player * but, char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); au_wall_but(but, oldstack); stack = oldstack; } void TELLROOM(room * here, char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); tell_room(here, oldstack); stack = oldstack; } void TELLROOM_BUT(player * p, room * here, char *format,...) { va_list argum; char *oldstack; oldstack = stack; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); tell_room_but2(p, here, oldstack); stack = oldstack; } /* these two are a bit different, no? Well, um.. yeah, kinda... */ void ADDSTACK(char *format,...) { va_list argum; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = strchr(stack, 0); } void ENDSTACK(char *format,...) { va_list argum; va_start(argum, format); vsprintf(stack, format, argum); va_end(argum); stack = end_string(stack); }