Created
March 29, 2012 05:49
Revisions
-
stevetranby revised this gist
Mar 29, 2012 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -114,11 +114,11 @@ bool AppDelegate::applicationDidFinishLaunching() CCScriptEngineProtocol* pEngine = CCLuaEngine::engine(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); string filename = "test.lua"; #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) unsigned long size; char *pFileContent = (char*)CCFileUtils::getFileData(filename.c_str(), "r", &size); if (pFileContent) { @@ -183,4 +183,4 @@ void AppDelegate::applicationWillEnterForeground() // if you use SimpleAudioEngine, it must resume here // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); } -
stevetranby revised this gist
Mar 29, 2012 . 1 changed file with 186 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,186 @@ #include "cocos2d.h" #include "AppDelegate.h" #include "SimpleAudioEngine.h" #include "CCScriptSupport.h" #include "CCLuaEngine.h" #include "tolua++.h" extern "C" { #include "lualib.h" #include "lauxlib.h" #include "tolua_fix.h" } #define IPAD 0 #if IPAD #define CC_WIDTH 1024 #define CC_HEIGHT 768 #elif IPHONE_4 #define CC_WIDTH 960 #define CC_HEIGHT 640 #else #define CC_WIDTH 480 #define CC_HEIGHT 320 #endif USING_NS_CC; using namespace CocosDenshion; AppDelegate::AppDelegate() { // fixed me //_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF); } AppDelegate::~AppDelegate() { // end simple audio engine here, or it may crashed on win32 SimpleAudioEngine::sharedEngine()->end(); //CCScriptEngineManager::purgeSharedManager(); } bool AppDelegate::initInstance() { bool bRet = false; do { #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) // Initialize OpenGLView instance, that release by CCDirector when application terminate. // The HelloWorld is designed as HVGA. CCEGLView * pMainWnd = new CCEGLView(); CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create(TEXT("cocos2d: Hello World"), CC_WIDTH, CC_HEIGHT)); #endif // CC_PLATFORM_WIN32 #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) // OpenGLView initialized in testsAppDelegate.mm on ios platform, nothing need to do here. #endif // CC_PLATFORM_IOS #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) // OpenGLView initialized in HelloWorld/android/jni/helloworld/main.cpp // the default setting is to create a fullscreen view // if you want to use auto-scale, please enable view->create(320,480) in main.cpp #endif // CC_PLATFORM_ANDROID #if (CC_TARGET_PLATFORM == CC_PLATFORM_WOPHONE) // Initialize OpenGLView instance, that release by CCDirector when application terminate. // The HelloWorld is designed as HVGA. CCEGLView* pMainWnd = new CCEGLView(this); CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create(320,480, WM_WINDOW_ROTATE_MODE_CW)); #ifndef _TRANZDA_VM_ // on wophone emulator, we copy resources files to Work7/NEWPLUS/TDA_DATA/Data/ folder instead of zip file cocos2d::CCFileUtils::setResource("HelloWorld.zip"); #endif #endif // CC_PLATFORM_WOPHONE #if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) // MaxAksenov said it's NOT a very elegant solution. I agree, haha CCDirector::sharedDirector()->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); #endif bRet = true; } while (0); return bRet; } bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView()); // enable High Resource Mode(2x, such as iphone4) and maintains low resource on other devices. // pDirector->enableRetinaDisplay(true); // turn on display FPS pDirector->setDisplayFPS(true); // pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); // register lua engine CCScriptEngineProtocol* pEngine = CCLuaEngine::engine(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); string filename = "hello3.lua"; #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) unsigned long size; char *pFileContent = (char*)CCFileUtils::getFileData("hello.lua", "r", &size); if (pFileContent) { // copy the file contents and add '\0' at the end, or the lua parser can not parse it char *pCodes = new char[size + 1]; pCodes[size] = '\0'; memcpy(pCodes, pFileContent, size); delete[] pFileContent; pEngine->executeString(pCodes); delete []pCodes; } #endif #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) || (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) || (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) string path = CCFileUtils::fullPathFromRelativePath(filename.c_str()); pEngine->addSearchPath(path.substr(0, path.find_last_of("/")).c_str()); pEngine->executeScriptFile(path.c_str()); #endif CCLOG("running scripts"); //test2p lua_State *L = pEngine->getLuaState(); lua_getglobal(L, "test"); lua_call(L, 0, 0); lua_getglobal(L, "test1r"); lua_call(L, 0, 1); int ret = lua_tointeger(L, -1); CCLOG("ret=%d",ret); lua_getglobal(L, "test2p"); lua_pushstring(L, "This is an argument passed to a Lua function from C/C++"); lua_pushstring(L, "Arg 2"); lua_call(L, 2, 0); lua_getglobal(L, "test1p2r"); lua_pushinteger(L, 3); lua_call(L, 1, 2); int x = lua_tointeger(L, -2); const char *y = lua_tostring(L, -1); CCLOG("val=%d",x); CCLOG("msg=%s",y); return true; } // This function will be called when the app is inactive. When comes a phone call,it's be invoked too void AppDelegate::applicationDidEnterBackground() { CCDirector::sharedDirector()->pause(); // if you use SimpleAudioEngine, it must be pause // SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); } // this function will be called when the app is active again void AppDelegate::applicationWillEnterForeground() { CCDirector::sharedDirector()->resume(); // if you use SimpleAudioEngine, it must resume here // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); } -
stevetranby revised this gist
Mar 29, 2012 . 2 changed files with 0 additions and 372 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,186 +0,0 @@ This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,186 +0,0 @@ -
stevetranby revised this gist
Mar 29, 2012 . 2 changed files with 186 additions and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,3 @@ #include "cocos2d.h" #include "AppDelegate.h" #include "SimpleAudioEngine.h" This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,186 @@ #include "cocos2d.h" #include "AppDelegate.h" #include "SimpleAudioEngine.h" #include "CCScriptSupport.h" #include "CCLuaEngine.h" #include "tolua++.h" extern "C" { #include "lualib.h" #include "lauxlib.h" #include "tolua_fix.h" } #define IPAD 0 #if IPAD #define CC_WIDTH 1024 #define CC_HEIGHT 768 #elif IPHONE_4 #define CC_WIDTH 960 #define CC_HEIGHT 640 #else #define CC_WIDTH 480 #define CC_HEIGHT 320 #endif USING_NS_CC; using namespace CocosDenshion; AppDelegate::AppDelegate() { // fixed me //_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF); } AppDelegate::~AppDelegate() { // end simple audio engine here, or it may crashed on win32 SimpleAudioEngine::sharedEngine()->end(); //CCScriptEngineManager::purgeSharedManager(); } bool AppDelegate::initInstance() { bool bRet = false; do { #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) // Initialize OpenGLView instance, that release by CCDirector when application terminate. // The HelloWorld is designed as HVGA. CCEGLView * pMainWnd = new CCEGLView(); CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create(TEXT("cocos2d: Hello World"), CC_WIDTH, CC_HEIGHT)); #endif // CC_PLATFORM_WIN32 #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) // OpenGLView initialized in testsAppDelegate.mm on ios platform, nothing need to do here. #endif // CC_PLATFORM_IOS #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) // OpenGLView initialized in HelloWorld/android/jni/helloworld/main.cpp // the default setting is to create a fullscreen view // if you want to use auto-scale, please enable view->create(320,480) in main.cpp #endif // CC_PLATFORM_ANDROID #if (CC_TARGET_PLATFORM == CC_PLATFORM_WOPHONE) // Initialize OpenGLView instance, that release by CCDirector when application terminate. // The HelloWorld is designed as HVGA. CCEGLView* pMainWnd = new CCEGLView(this); CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create(320,480, WM_WINDOW_ROTATE_MODE_CW)); #ifndef _TRANZDA_VM_ // on wophone emulator, we copy resources files to Work7/NEWPLUS/TDA_DATA/Data/ folder instead of zip file cocos2d::CCFileUtils::setResource("HelloWorld.zip"); #endif #endif // CC_PLATFORM_WOPHONE #if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) // MaxAksenov said it's NOT a very elegant solution. I agree, haha CCDirector::sharedDirector()->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); #endif bRet = true; } while (0); return bRet; } bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView()); // enable High Resource Mode(2x, such as iphone4) and maintains low resource on other devices. // pDirector->enableRetinaDisplay(true); // turn on display FPS pDirector->setDisplayFPS(true); // pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); // register lua engine CCScriptEngineProtocol* pEngine = CCLuaEngine::engine(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); string filename = "hello3.lua"; #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) unsigned long size; char *pFileContent = (char*)CCFileUtils::getFileData("hello.lua", "r", &size); if (pFileContent) { // copy the file contents and add '\0' at the end, or the lua parser can not parse it char *pCodes = new char[size + 1]; pCodes[size] = '\0'; memcpy(pCodes, pFileContent, size); delete[] pFileContent; pEngine->executeString(pCodes); delete []pCodes; } #endif #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) || (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) || (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) string path = CCFileUtils::fullPathFromRelativePath(filename.c_str()); pEngine->addSearchPath(path.substr(0, path.find_last_of("/")).c_str()); pEngine->executeScriptFile(path.c_str()); #endif CCLOG("running scripts"); //test2p lua_State *L = pEngine->getLuaState(); lua_getglobal(L, "test"); lua_call(L, 0, 0); lua_getglobal(L, "test1r"); lua_call(L, 0, 1); int ret = lua_tointeger(L, -1); CCLOG("ret=%d",ret); lua_getglobal(L, "test2p"); lua_pushstring(L, "This is an argument passed to a Lua function from C/C++"); lua_pushstring(L, "Arg 2"); lua_call(L, 2, 0); lua_getglobal(L, "test1p2r"); lua_pushinteger(L, 3); lua_call(L, 1, 2); int x = lua_tointeger(L, -2); const char *y = lua_tostring(L, -1); CCLOG("val=%d",x); CCLOG("msg=%s",y); return true; } // This function will be called when the app is inactive. When comes a phone call,it's be invoked too void AppDelegate::applicationDidEnterBackground() { CCDirector::sharedDirector()->pause(); // if you use SimpleAudioEngine, it must be pause // SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); } // this function will be called when the app is active again void AppDelegate::applicationWillEnterForeground() { CCDirector::sharedDirector()->resume(); // if you use SimpleAudioEngine, it must resume here // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); } -
stevetranby revised this gist
Mar 29, 2012 . 4 changed files with 236 additions and 55 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,187 @@ #include "cocos2d.h" #include "AppDelegate.h" #include "SimpleAudioEngine.h" #include "CCScriptSupport.h" #include "CCLuaEngine.h" #include "tolua++.h" extern "C" { #include "lualib.h" #include "lauxlib.h" #include "tolua_fix.h" } #define IPAD 0 #if IPAD #define CC_WIDTH 1024 #define CC_HEIGHT 768 #elif IPHONE_4 #define CC_WIDTH 960 #define CC_HEIGHT 640 #else #define CC_WIDTH 480 #define CC_HEIGHT 320 #endif USING_NS_CC; using namespace CocosDenshion; AppDelegate::AppDelegate() { // fixed me //_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF); } AppDelegate::~AppDelegate() { // end simple audio engine here, or it may crashed on win32 SimpleAudioEngine::sharedEngine()->end(); //CCScriptEngineManager::purgeSharedManager(); } bool AppDelegate::initInstance() { bool bRet = false; do { #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) // Initialize OpenGLView instance, that release by CCDirector when application terminate. // The HelloWorld is designed as HVGA. CCEGLView * pMainWnd = new CCEGLView(); CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create(TEXT("cocos2d: Hello World"), CC_WIDTH, CC_HEIGHT)); #endif // CC_PLATFORM_WIN32 #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) // OpenGLView initialized in testsAppDelegate.mm on ios platform, nothing need to do here. #endif // CC_PLATFORM_IOS #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) // OpenGLView initialized in HelloWorld/android/jni/helloworld/main.cpp // the default setting is to create a fullscreen view // if you want to use auto-scale, please enable view->create(320,480) in main.cpp #endif // CC_PLATFORM_ANDROID #if (CC_TARGET_PLATFORM == CC_PLATFORM_WOPHONE) // Initialize OpenGLView instance, that release by CCDirector when application terminate. // The HelloWorld is designed as HVGA. CCEGLView* pMainWnd = new CCEGLView(this); CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create(320,480, WM_WINDOW_ROTATE_MODE_CW)); #ifndef _TRANZDA_VM_ // on wophone emulator, we copy resources files to Work7/NEWPLUS/TDA_DATA/Data/ folder instead of zip file cocos2d::CCFileUtils::setResource("HelloWorld.zip"); #endif #endif // CC_PLATFORM_WOPHONE #if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) // MaxAksenov said it's NOT a very elegant solution. I agree, haha CCDirector::sharedDirector()->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); #endif bRet = true; } while (0); return bRet; } bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView()); // enable High Resource Mode(2x, such as iphone4) and maintains low resource on other devices. // pDirector->enableRetinaDisplay(true); // turn on display FPS pDirector->setDisplayFPS(true); // pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); // set FPS. the default value is 1.0/60 if you don't call this pDirector->setAnimationInterval(1.0 / 60); // register lua engine CCScriptEngineProtocol* pEngine = CCLuaEngine::engine(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); string filename = "hello3.lua"; #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) unsigned long size; char *pFileContent = (char*)CCFileUtils::getFileData("hello.lua", "r", &size); if (pFileContent) { // copy the file contents and add '\0' at the end, or the lua parser can not parse it char *pCodes = new char[size + 1]; pCodes[size] = '\0'; memcpy(pCodes, pFileContent, size); delete[] pFileContent; pEngine->executeString(pCodes); delete []pCodes; } #endif #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) || (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) || (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) string path = CCFileUtils::fullPathFromRelativePath(filename.c_str()); pEngine->addSearchPath(path.substr(0, path.find_last_of("/")).c_str()); pEngine->executeScriptFile(path.c_str()); #endif CCLOG("running scripts"); //test2p lua_State *L = pEngine->getLuaState(); lua_getglobal(L, "test"); lua_call(L, 0, 0); lua_getglobal(L, "test1r"); lua_call(L, 0, 1); int ret = lua_tointeger(L, -1); CCLOG("ret=%d",ret); lua_getglobal(L, "test2p"); lua_pushstring(L, "This is an argument passed to a Lua function from C/C++"); lua_pushstring(L, "Arg 2"); lua_call(L, 2, 0); lua_getglobal(L, "test1p2r"); lua_pushinteger(L, 3); lua_call(L, 1, 2); int x = lua_tointeger(L, -2); const char *y = lua_tostring(L, -1); CCLOG("val=%d",x); CCLOG("msg=%s",y); return true; } // This function will be called when the app is inactive. When comes a phone call,it's be invoked too void AppDelegate::applicationDidEnterBackground() { CCDirector::sharedDirector()->pause(); // if you use SimpleAudioEngine, it must be pause // SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); } // this function will be called when the app is active again void AppDelegate::applicationWillEnterForeground() { CCDirector::sharedDirector()->resume(); // if you use SimpleAudioEngine, it must resume here // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); } This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,55 +0,0 @@ This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,24 @@ CCLOG("running scripts"); //test2p lua_State *L = pEngine->getLuaState(); lua_getglobal(L, "test"); lua_call(L, 0, 0); lua_getglobal(L, "test1r"); lua_call(L, 0, 1); int ret = lua_tointeger(L, -1); CCLOG("ret=%d",ret); lua_getglobal(L, "test2p"); lua_pushstring(L, "This is an argument passed to a Lua function from C/C++"); lua_pushstring(L, "Arg 2"); lua_call(L, 2, 0); lua_getglobal(L, "test1p2r"); lua_pushinteger(L, 3); lua_call(L, 1, 2); int x = lua_tointeger(L, -2); const char *y = lua_tostring(L, -1); CCLOG("val=%d",x); CCLOG("msg=%s",y); This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,25 @@ local cclog = function(...) print(string.format(...)) end function add(x, y) return x + y end function test() print "test" end function test1r() return add(3,45) end function test2p(a,b) print ("test passed " .. a .. " and " .. (b)) end function test1p2r(a) print ("test2p2r with " .. a) return 4, "steve" end -
stevetranby created this gist
Mar 29, 2012 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,55 @@ // register lua engine CCScriptEngineProtocol* pEngine = CCLuaEngine::engine(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); string filename = "hello3.lua"; #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) unsigned long size; char *pFileContent = (char*)CCFileUtils::getFileData("hello.lua", "r", &size); if (pFileContent) { // copy the file contents and add '\0' at the end, or the lua parser can not parse it char *pCodes = new char[size + 1]; pCodes[size] = '\0'; memcpy(pCodes, pFileContent, size); delete[] pFileContent; pEngine->executeString(pCodes); delete []pCodes; } #endif #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) || (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) || (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE) string path = CCFileUtils::fullPathFromRelativePath(filename.c_str()); pEngine->addSearchPath(path.substr(0, path.find_last_of("/")).c_str()); pEngine->executeScriptFile(path.c_str()); #endif CCLOG("running scripts"); //test2p lua_State *L = pEngine->getLuaState(); lua_getglobal(L, "test"); lua_call(L, 0, 0); lua_getglobal(L, "test1r"); lua_call(L, 0, 1); int ret = lua_tointeger(L, -1); CCLOG("ret=%d",ret); lua_getglobal(L, "test2p"); lua_pushstring(L, "This is an argument passed to a Lua function from C/C++"); lua_pushstring(L, "Arg 2"); lua_call(L, 2, 0); lua_getglobal(L, "test1p2r"); lua_pushinteger(L, 3); lua_call(L, 1, 2); int x = lua_tointeger(L, -2); const char *y = lua_tostring(L, -1); CCLOG("val=%d",x); CCLOG("msg=%s",y); return true;