36 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
36 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
37 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
37 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
38 * POSSIBILITY OF SUCH DAMAGE. |
38 * POSSIBILITY OF SUCH DAMAGE. |
39 */ |
39 */ |
40 |
40 |
41 #ifndef __COMMANDS_H__ |
41 #ifndef BOTC_COMMANDS_H |
42 #define __COMMANDS_H__ |
42 #define BOTC_COMMANDS_H |
43 |
43 |
44 #define MAX_MAXARGS 8 |
44 #define MAX_MAXARGS 8 |
45 #define MAX_ARGNAMELEN 16 |
45 #define MAX_ARGNAMELEN 16 |
46 |
46 |
47 #include "common.h" |
47 #include "main.h" |
48 #include "str.h" |
48 #include "str.h" |
49 #include "botcommands.h" |
49 #include "botcommands.h" |
50 |
50 |
51 #define ITERATE_COMMANDS(comm) \ |
51 #define ITERATE_COMMANDS(comm) \ |
52 for (comm = g_CommDef; comm->next != NULL; comm = comm->next) |
52 for (comm = g_CommDef; comm->next != null; comm = comm->next) |
53 |
53 |
54 struct CommandDef { |
54 struct CommandDef { |
55 str name; |
55 string name; |
56 int number; |
56 int number; |
57 int numargs; |
57 int numargs; |
58 int maxargs; |
58 int maxargs; |
59 type_e returnvalue; |
59 type_e returnvalue; |
60 type_e argtypes[MAX_MAXARGS]; |
60 type_e argtypes[MAX_MAXARGS]; |
62 int defvals[MAX_MAXARGS]; |
62 int defvals[MAX_MAXARGS]; |
63 CommandDef* next; |
63 CommandDef* next; |
64 }; |
64 }; |
65 |
65 |
66 void ReadCommands (); |
66 void ReadCommands (); |
67 CommandDef* FindCommand (str a); |
67 CommandDef* FindCommand (string a); |
68 str GetCommandPrototype (CommandDef* comm); |
68 string GetCommandPrototype (CommandDef* comm); |
69 |
69 |
70 #ifndef __COMMANDS_CXX__ |
70 extern CommandDef* g_CommDef; |
71 extern |
|
72 #endif |
|
73 CommandDef* g_CommDef; |
|
74 |
71 |
75 #endif // __COMMANDS_H__ |
72 #endif // BOTC_COMMANDS_H |