@@ -134,16 +134,24 @@ Ref<LuaTable> LuaState::create_table(const Dictionary& initial_values) {
134134 return memnew (LuaTable (to_table (lua_state, initial_values)));
135135}
136136
137- Variant LuaState::load_string (const String& chunk, const String& chunkname, LoadMode mode, LuaTable *env) {
138- return ::luagdextension::load_string (lua_state, chunk, chunkname, (sol::load_mode) mode, env);
137+ Variant LuaState::load_buffer (const PackedByteArray& chunk, const String& chunkname, LoadMode mode, LuaTable *env) {
138+ return ::luagdextension::load_buffer (lua_state, chunk, chunkname, (sol::load_mode) mode, env);
139+ }
140+
141+ Variant LuaState::load_string (const String& chunk, const String& chunkname, LuaTable *env) {
142+ return ::luagdextension::load_buffer (lua_state, chunk.to_utf8_buffer (), chunkname, sol::load_mode::text, env);
139143}
140144
141145Variant LuaState::load_file (const String& filename, LoadMode mode, LuaTable *env) {
142146 return ::luagdextension::load_file (lua_state, filename, (sol::load_mode) mode, env);
143147}
144148
145- Variant LuaState::do_string (const String& chunk, const String& chunkname, LoadMode mode, LuaTable *env) {
146- return ::luagdextension::do_string (lua_state, chunk, chunkname, (sol::load_mode) mode, env);
149+ Variant LuaState::do_buffer (const PackedByteArray& chunk, const String& chunkname, LoadMode mode, LuaTable *env) {
150+ return ::luagdextension::do_buffer (lua_state, chunk, chunkname, (sol::load_mode) mode, env);
151+ }
152+
153+ Variant LuaState::do_string (const String& chunk, const String& chunkname, LuaTable *env) {
154+ return ::luagdextension::do_buffer (lua_state, chunk.to_utf8_buffer (), chunkname, sol::load_mode::text, env);
147155}
148156
149157Variant LuaState::do_file (const String& filename, LoadMode mode, LuaTable *env) {
@@ -203,9 +211,11 @@ void LuaState::_bind_methods() {
203211 // Methods
204212 ClassDB::bind_method (D_METHOD (" open_libraries" , " libraries" ), &LuaState::open_libraries, DEFVAL (BitField<Library>(ALL_LIBS)));
205213 ClassDB::bind_method (D_METHOD (" create_table" , " initial_values" ), &LuaState::create_table, DEFVAL (Dictionary ()));
206- ClassDB::bind_method (D_METHOD (" load_string" , " chunk" , " chunkname" , " mode" , " env" ), &LuaState::load_string, DEFVAL (" " ), DEFVAL (LOAD_MODE_ANY), DEFVAL (nullptr ));
214+ ClassDB::bind_method (D_METHOD (" load_buffer" , " chunk" , " chunkname" , " mode" , " env" ), &LuaState::load_buffer, DEFVAL (" " ), DEFVAL (LOAD_MODE_ANY), DEFVAL (nullptr ));
215+ ClassDB::bind_method (D_METHOD (" load_string" , " chunk" , " chunkname" , " env" ), &LuaState::load_string, DEFVAL (" " ), DEFVAL (nullptr ));
207216 ClassDB::bind_method (D_METHOD (" load_file" , " filename" , " mode" , " env" ), &LuaState::load_file, DEFVAL (LOAD_MODE_ANY), DEFVAL (nullptr ));
208- ClassDB::bind_method (D_METHOD (" do_string" , " chunk" , " chunkname" , " mode" , " env" ), &LuaState::do_string, DEFVAL (" " ), DEFVAL (LOAD_MODE_ANY), DEFVAL (nullptr ));
217+ ClassDB::bind_method (D_METHOD (" do_buffer" , " chunk" , " chunkname" , " mode" , " env" ), &LuaState::do_buffer, DEFVAL (" " ), DEFVAL (LOAD_MODE_ANY), DEFVAL (nullptr ));
218+ ClassDB::bind_method (D_METHOD (" do_string" , " chunk" , " chunkname" , " env" ), &LuaState::do_string, DEFVAL (" " ), DEFVAL (nullptr ));
209219 ClassDB::bind_method (D_METHOD (" do_file" , " filename" , " mode" , " env" ), &LuaState::do_file, DEFVAL (LOAD_MODE_ANY), DEFVAL (nullptr ));
210220 ClassDB::bind_method (D_METHOD (" get_globals" ), &LuaState::get_globals);
211221 ClassDB::bind_method (D_METHOD (" get_registry" ), &LuaState::get_registry);
0 commit comments