00001 #ifndef HEADER_DEF_SCRIPT_H
00002 #define HEADER_DEF_SCRIPT_H
00003
00004 class Scripter;
00005
00006 #include "Log.h"
00007
00008 #include <stdexcept>
00009
00010 extern "C" {
00011 #include "lua.h"
00012 #include "lauxlib.h"
00013 }
00014
00015
00016
00017 #define BEGIN_NOEXCEPTION try {
00018 #define END_NOEXCEPTION \
00019 } \
00020 catch (std::exception &e) { \
00021 luaL_error(L, e.what()); \
00022 } \
00023 catch (...) { \
00024 luaL_error(L, "unknown exception"); \
00025 }
00026
00027 inline const char *script_getLeaderName() { return "script_leader"; }
00028 extern Scripter *script_getLeader(lua_State *L);
00029 extern int script_debugStack(lua_State *L);
00030
00031 extern int script_file_include(lua_State *L) throw();
00032 extern int script_file_exists(lua_State *L) throw();
00033
00034
00035 #endif