mirror of https://github.com/axmolengine/axmol.git
75 lines
2.7 KiB
XML
75 lines
2.7 KiB
XML
|
|
<project name="Cocos2d-xToLua" default="create-lua-bindings" basedir=".">
|
|
<description>
|
|
Utilises tolua++ to create the lua bindings to expose cocos2d-x functionality to lua
|
|
</description>
|
|
<property name="tolua++" location="tolua++.exe"/>
|
|
|
|
<target name="cocos2d-x-bindings">
|
|
<echo message="Calling tolua++" />
|
|
<exec executable="${tolua++}">
|
|
<arg value="-L" />
|
|
<arg value="basic.lua" />
|
|
<arg value="-o"/>
|
|
<arg value="LuaCocos2d.cpp"/>
|
|
<arg value="Cocos2d.pkg"/>
|
|
</exec>
|
|
<echo message="Patching resultant lua bindings" />
|
|
|
|
<replace file="LuaCocos2d.cpp">
|
|
<replacetoken><![CDATA[tolua_pushusertype_ccobject(tolua_S,(void*)tolua_ret]]></replacetoken>
|
|
<replacevalue><![CDATA[int nID = (tolua_ret) ? tolua_ret->m_uID : -1;
|
|
int* pLuaID = (tolua_ret) ? &tolua_ret->m_nLuaID : NULL;
|
|
tolua_pushusertype_ccobject(tolua_S, nID, pLuaID, (void*)tolua_ret]]></replacevalue>
|
|
</replace>
|
|
|
|
<replace file="LuaCocos2d.cpp">
|
|
<replacetoken><![CDATA[unsigned void* tolua_ret = (unsigned void*) self->getTiles();]]></replacetoken>
|
|
<replacevalue><![CDATA[unsigned int* tolua_ret = (unsigned int*) self->getTiles();]]></replacevalue>
|
|
</replace>
|
|
|
|
<replace file="LuaCocos2d.cpp">
|
|
<replacetoken><![CDATA[ccColor3B color = *((ccColor3B*) tolua_tousertype(tolua_S,4,(void*)&(const ccColor3B)ccBLACK));]]></replacetoken>
|
|
<replacevalue><![CDATA[const ccColor3B clr = ccBLACK;
|
|
ccColor3B color = *((ccColor3B*) tolua_tousertype(tolua_S,4,(void*)&clr));]]></replacevalue>
|
|
</replace>
|
|
|
|
<replace file="LuaCocos2d.cpp">
|
|
<replacetoken><![CDATA["LUA_FUNCTION",0,&tolua_err]]></replacetoken>
|
|
<replacevalue><![CDATA[&tolua_err]]></replacevalue>
|
|
</replace>
|
|
|
|
<replace file="LuaCocos2d.cpp">
|
|
<replacetoken><![CDATA[LUA_FUNCTION funcID = *((LUA_FUNCTION*) tolua_ref_function(tolua_S,]]></replacetoken>
|
|
<replacevalue><![CDATA[int funcID = (tolua_ref_function(tolua_S,]]></replacevalue>
|
|
</replace>
|
|
|
|
<replace file="LuaCocos2d.cpp">
|
|
<replacetoken><![CDATA[#ifndef __cplusplus
|
|
#include "stdlib.h"
|
|
#endif
|
|
#include "string.h"
|
|
|
|
#include "tolua++.h"
|
|
|
|
/* Exported function */
|
|
TOLUA_API int tolua_Cocos2d_open (lua_State* tolua_S);]]></replacetoken>
|
|
<replacevalue><![CDATA[#include <vector>
|
|
#include <map>
|
|
#include "LuaCocos2d.h"
|
|
#include "tolua_fix.h"
|
|
#include "cocos2d.h"
|
|
//#include "CCRibbon.h"
|
|
#include "SimpleAudioEngine.h"
|
|
|
|
using namespace cocos2d;
|
|
using namespace CocosDenshion;
|
|
]]></replacevalue>
|
|
</replace>
|
|
|
|
<echo message="Copying new bindings to target location" />
|
|
<move file="LuaCocos2d.cpp" todir="../../lua/cocos2dx_support/"/>
|
|
</target>
|
|
<target name="create-lua-bindings" depends="cocos2d-x-bindings" />
|
|
</project>
|