Browse Source

Merge pull request #922 from dgough/next

Changed ScriptController::loadScript() to use dofile instead of dostring
Sean Paul Taylor 12 years ago
parent
commit
ee3a18e96c
1 changed files with 5 additions and 2 deletions
  1. 5 2
      gameplay/src/ScriptController.cpp

+ 5 - 2
gameplay/src/ScriptController.cpp

@@ -429,12 +429,15 @@ void ScriptController::loadScript(const char* path, bool forceReload)
     std::set<std::string>::iterator iter = _loadedScripts.find(path);
     std::set<std::string>::iterator iter = _loadedScripts.find(path);
     if (iter == _loadedScripts.end() || forceReload)
     if (iter == _loadedScripts.end() || forceReload)
     {
     {
+#ifdef __ANDROID__
         const char* scriptContents = FileSystem::readAll(path);
         const char* scriptContents = FileSystem::readAll(path);
         if (luaL_dostring(_lua, scriptContents))
         if (luaL_dostring(_lua, scriptContents))
             GP_WARN("Failed to run Lua script with error: '%s'.", lua_tostring(_lua, -1));
             GP_WARN("Failed to run Lua script with error: '%s'.", lua_tostring(_lua, -1));
-
         SAFE_DELETE_ARRAY(scriptContents);
         SAFE_DELETE_ARRAY(scriptContents);
-
+#else
+        if (luaL_dofile(_lua, path))
+            GP_WARN("Failed to run Lua script with error: '%s'.", lua_tostring(_lua, -1));
+#endif
         if (iter == _loadedScripts.end())
         if (iter == _loadedScripts.end())
             _loadedScripts.insert(path);
             _loadedScripts.insert(path);
     }
     }