Changeset 8085 in orxonox.OLD for branches/script_engine/src
- Timestamp:
- Jun 1, 2006, 5:07:28 PM (19 years ago)
- Location:
- branches/script_engine/src/lib/script_engine
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/script_engine/src/lib/script_engine/account.cc
r8080 r8085 91 91 { 92 92 Script script; 93 printf("-------------------------- top of the stack:%i\n",lua_gettop(script.getLuaState())); 93 94 94 95 // Register classes with the script … … 104 105 Lunar<Account>::insertObject(&script,&a,"a",false); 105 106 Lunar<Account>::insertObject(&script,b,"b",true); 106 107 107 printf("-------------------------- top of the stack:%i\n",lua_gettop(script.getLuaState())); 108 //Load a file 108 109 std::string file(argv[1]); 109 110 110 111 if(script.loadFile(file)) 111 112 printf("File %s succefully loaded\n", file.c_str()); 112 113 // script.executeFile();114 113 printf("-------------------------- top of the stack:%i\n",lua_gettop(script.getLuaState())); 114 //execute a function 115 printf("----------- main -----------\n"); 115 116 std::string main("main"); 116 117 if( script.selectFunction(main,3)) … … 131 132 int ret = script.getReturnedInt(); 132 133 printf("main returned %i\n",ret); 134 135 printf("-------------------------- top of the stack:%i\n",lua_gettop(script.getLuaState())); 136 //execute a 2nd function 137 printf("----------- test -----------\n"); 138 std::string test("test"); 139 if( script.selectFunction(test,0)) 140 printf("function %s selected\n",test.c_str()); 141 142 script.executeFunction(); 143 133 144 134 145 //if(argc>1) lua_dofile(script.getLuaState(), argv[1]); 146 printf("-------------------------- top of the stack:%i\n",lua_gettop(script.getLuaState())); 135 147 136 148 return 0; -
branches/script_engine/src/lib/script_engine/lunartest2.lua
r8080 r8085 14 14 15 15 getmetatable(Account).__index = parent 16 17 18 function test() 19 io.write("Hi i'm test\n") 20 end 21 16 22 17 23 function main(arg) -
branches/script_engine/src/lib/script_engine/script.cc
r8075 r8085 29 29 30 30 if(currentFile.length() != 0) 31 { 31 32 printf("Could not load %s because an other file is already loaded: %s\n",filename.c_str(), currentFile.c_str()); 33 return false; 34 } 32 35 33 36 int error = luaL_loadfile (luaState, filename.c_str()); … … 74 77 bool Script::selectFunction(std::string& functionName, int retCount) 75 78 { 76 if(returnCount == 0 ) //no return values left on the stack79 if(returnCount == 0 && currentFunction.length() == 0) //no return values left on the stack and no other function selected 77 80 { 78 81 lua_pushlstring(luaState, functionName.c_str(), functionName.size() ); … … 90 93 } 91 94 else 92 printf("there are unremoved return values on the stack. Please remove them first.\n"); 95 printf("There is an other function active ( %s ) or there are unremoved return values on the stack. Please remove them first.\n",currentFunction.c_str()); 96 return false; 93 97 } 94 98 … … 214 218 int Script::reportError(int error) 215 219 { 216 const char *msg = lua_tostring(luaState, -1); 217 if (msg == NULL) msg = "(error with no message)"; 218 fprintf(stderr, "ERROR: %s\n", msg); 219 lua_pop(luaState, 1); 220 return error; 221 } 222 220 if(error != 0) 221 { 222 const char *msg = lua_tostring(luaState, -1); 223 if (msg == NULL) msg = "(error with no message)"; 224 fprintf(stderr, "ERROR: %s\n", msg); 225 lua_pop(luaState, 1); 226 return error; 227 } 228 } 229 -
branches/script_engine/src/lib/script_engine/script_manager.cc
r8072 r8085 1 2 #include "script.h" 3 #include "script_manager.h" -
branches/script_engine/src/lib/script_engine/script_manager.h
r8072 r8085 1 #ifndef _SCRIPT_MANAGER_H 2 #define _SCRIPT_MNAGER_H 3 4 5 #include <string> 6 #include "base_object.h" 7 8 #include "luaincl.h" 9 10 11 12 class ScriptManager 13 { 14 public: 15 16 17 18 19 20 private: 21 22 23 24 }; 25 #endif
Note: See TracChangeset
for help on using the changeset viewer.