diff options
Diffstat (limited to 'crawl-ref/source/luadgn.h')
-rw-r--r-- | crawl-ref/source/luadgn.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/crawl-ref/source/luadgn.h b/crawl-ref/source/luadgn.h index f8b272f544..6c619af05e 100644 --- a/crawl-ref/source/luadgn.h +++ b/crawl-ref/source/luadgn.h @@ -13,6 +13,9 @@ extern CLua dlua; +// Lua chunks cannot exceed 512K. Which is plenty! +const int LUA_CHUNK_MAX_SIZE = 512 * 1024; + class dlua_chunk { private: @@ -27,7 +30,7 @@ private: std::string get_chunk_prefix(const std::string &s) const; public: - std::string error; + mutable std::string error; public: dlua_chunk(const std::string &_context = "dlua_chunk"); @@ -35,8 +38,8 @@ public: void add(int line, const std::string &line); void set_chunk(const std::string &s); - int load(CLua *interp); - int load_call(CLua *interp, const char *function); + int load(CLua &interp); + int load_call(CLua &interp, const char *function); void set_file(const std::string &s); const std::string &lua_string() const { return chunk; } @@ -44,6 +47,9 @@ public: bool rewrite_chunk_errors(std::string &err) const; bool empty() const; + + void write(FILE *) const; + void read(FILE *); }; void init_dungeon_lua(); |