/* viDOOM - level editor for DOOM Copyright (C) 2000 Ian Cowburn (ianc@noddybox.demon.co.uk) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ------------------------------------------------------------------------- Handles definition and storage of the supported ACTION SPECIALS (Hexen) $Id$ */ #ifndef VIDOOM_SPECIALS_H #define VIDOOM_SPECIALS_H /* This is not going to be an ID, so is used to detect whether LinedefSelect() was cancelled. */ #define SPECIAL_NULLID -666 /* Add a new class of special */ void SpecialNewClass(char *class); /* Add the named type to the supplied class with the ID and 5 arguments. Unused arguments can be NULL */ void SpecialAdd(char *class,char *name,int id,char *arg[5]); /* Selects a type of special, returning the ID or SPECIAL_NULLID if cancelled */ int SelectSpecial(void); /* Returns the name of a special action. If not NULL then the argument names are placed in args. */ char *SpecialName(int id,char *arg[5]); /* Displays a dialog box to set arguments for the supplied ID. Returns FALSE if the dialog is cancelled. If OKed then TRUE is returned and arg[] will hold the new argument values. If prompt is not NULL it is displayed along with the special name in the dialog where the arguments are entered. */ int SpecialArgDialog(char *prompt,int id,int arg[5]); #endif /* END OF FILE */