ソースを参照

Generated Lua bindings. They don't actually compile though.

Cameron Hart 14 年 前
コミット
1bcd55da82

+ 3 - 0
Bindings/Contents/LUA/API/Polycode.lua

@@ -25,6 +25,9 @@ require "Polycode/BezierPathTween"
 require "Polycode/QuaternionTween"
 require "Polycode/QuaternionTween"
 require "Polycode/QuaternionCurve"
 require "Polycode/QuaternionCurve"
 require "Polycode/SceneManager"
 require "Polycode/SceneManager"
+require "Polycode/SkeletonAnimation"
+require "Polycode/BoneTrack"
+require "Polycode/Skeleton"
 require "Polycode/Matrix4"
 require "Polycode/Matrix4"
 require "Polycode/SceneLine"
 require "Polycode/SceneLine"
 require "Polycode/ScreenEvent"
 require "Polycode/ScreenEvent"

+ 8 - 4
Bindings/Contents/LUA/API/Polycode/Skeleton.lua

@@ -32,12 +32,16 @@ function Skeleton:loadSkeleton(fileName)
 	local retVal = Polycore.Skeleton_loadSkeleton(self.__ptr, fileName.__ptr)
 	local retVal = Polycore.Skeleton_loadSkeleton(self.__ptr, fileName.__ptr)
 end
 end
 
 
-function Skeleton:playAnimation(animName, once)
-	local retVal = Polycore.Skeleton_playAnimation(self.__ptr, animName, once)
-end
-
 function Skeleton:playAnimationByIndex(index, once)
 function Skeleton:playAnimationByIndex(index, once)
 	local retVal = Polycore.Skeleton_playAnimationByIndex(self.__ptr, index, once)
 	local retVal = Polycore.Skeleton_playAnimationByIndex(self.__ptr, index, once)
+	if retVal == nil then return nil end
+	if Polycore.__ptr_lookup[retVal] ~= nil then
+		return Polycore.__ptr_lookup[retVal]
+	else
+		Polycore.__ptr_lookup[retVal] = >>>>>>>mastervoid("__skip_ptr__")
+		Polycore.__ptr_lookup[retVal].__ptr = retVal
+		return Polycore.__ptr_lookup[retVal]
+	end
 end
 end
 
 
 function Skeleton:addAnimation(name, fileName)
 function Skeleton:addAnimation(name, fileName)

+ 341 - 0
Bindings/Contents/LUA/Include/PolycodeLUAWrappers.h

@@ -3418,6 +3418,347 @@ static int Polycore_delete_SceneManager(lua_State *L) {
 	return 0;
 	return 0;
 }
 }
 
 
+static int Polycore_SkeletonAnimation(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	const String & name = *( String *)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	Number duration = lua_tonumber(L, 2);
+	SkeletonAnimation *inst = new SkeletonAnimation(name, duration);
+	lua_pushlightuserdata(L, (void*)inst);
+	return 1;
+}
+
+static int Polycore_SkeletonAnimation_addBoneTrack(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	SkeletonAnimation *inst = (SkeletonAnimation*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	BoneTrack * boneTrack = (BoneTrack *)lua_topointer(L, 2);
+	inst->addBoneTrack(boneTrack);
+	return 0;
+}
+
+static int Polycore_SkeletonAnimation_getName(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	SkeletonAnimation *inst = (SkeletonAnimation*)lua_topointer(L, 1);
+	 String  *retInst = new  String ();
+	*retInst = inst->getName();
+	lua_pushlightuserdata(L, retInst);
+	return 1;
+}
+
+static int Polycore_SkeletonAnimation_Play(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	SkeletonAnimation *inst = (SkeletonAnimation*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TBOOLEAN);
+	bool once = lua_toboolean(L, 2);
+	inst->Play(once);
+	return 0;
+}
+
+static int Polycore_SkeletonAnimation_Stop(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	SkeletonAnimation *inst = (SkeletonAnimation*)lua_topointer(L, 1);
+	inst->Stop();
+	return 0;
+}
+
+static int Polycore_SkeletonAnimation_Update(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	SkeletonAnimation *inst = (SkeletonAnimation*)lua_topointer(L, 1);
+	inst->Update();
+	return 0;
+}
+
+static int Polycore_SkeletonAnimation_setSpeed(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	SkeletonAnimation *inst = (SkeletonAnimation*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	Number speed = lua_tonumber(L, 2);
+	inst->setSpeed(speed);
+	return 0;
+}
+
+static int Polycore_delete_SkeletonAnimation(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	SkeletonAnimation *inst = (SkeletonAnimation*)lua_topointer(L, 1);
+	delete inst;
+	return 0;
+}
+
+static int Polycore_BoneTrack_get_LocXVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->LocXVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_LocYVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->LocYVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_LocZVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->LocZVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_ScaleXVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->ScaleXVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_ScaleYVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->ScaleYVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_ScaleZVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->ScaleZVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_boneQuat(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->boneQuat);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_QuatWVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->QuatWVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_QuatXVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->QuatXVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_QuatYVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->QuatYVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack_get_QuatZVec(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	lua_pushlightuserdata(L, &inst->QuatZVec);
+	return 1;
+}
+
+static int Polycore_BoneTrack(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Bone * bone = (Bone *)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	Number length = lua_tonumber(L, 2);
+	BoneTrack *inst = new BoneTrack(bone, length);
+	lua_pushlightuserdata(L, (void*)inst);
+	return 1;
+}
+
+static int Polycore_BoneTrack_Play(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	bool once;
+	if(lua_isboolean(L, 2)) {
+		once = lua_toboolean(L, 2);
+	} else {
+		once = false;
+	}
+	inst->Play(once);
+	return 0;
+}
+
+static int Polycore_BoneTrack_Stop(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	inst->Stop();
+	return 0;
+}
+
+static int Polycore_BoneTrack_Update(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	inst->Update();
+	return 0;
+}
+
+static int Polycore_BoneTrack_setSpeed(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	Number speed = lua_tonumber(L, 2);
+	inst->setSpeed(speed);
+	return 0;
+}
+
+static int Polycore_delete_BoneTrack(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	BoneTrack *inst = (BoneTrack*)lua_topointer(L, 1);
+	delete inst;
+	return 0;
+}
+
+static int Polycore_Skeleton(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	const String & fileName = *( String *)lua_topointer(L, 1);
+	Skeleton *inst = new Skeleton(fileName);
+	lua_pushlightuserdata(L, (void*)inst);
+	return 1;
+}
+
+static int Polycore_Skeleton_loadSkeleton(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	const String & fileName = *( String *)lua_topointer(L, 2);
+	inst->loadSkeleton(fileName);
+	return 0;
+}
+
+static int Polycore_Skeleton_playAnimationByIndex(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	int index = lua_tointeger(L, 2);
+	bool once;
+	if(lua_isboolean(L, 3)) {
+		once = lua_toboolean(L, 3);
+	} else {
+		once = false;
+	}
+	> > > > > > > master void *retInst = new > > > > > > > master void();
+	*retInst = inst->playAnimationByIndex(index, once);
+	lua_pushlightuserdata(L, retInst);
+	return 1;
+}
+
+static int Polycore_Skeleton_addAnimation(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	const String & name = *( String *)lua_topointer(L, 2);
+	luaL_checktype(L, 3, LUA_TLIGHTUSERDATA);
+	const String & fileName = *( String *)lua_topointer(L, 3);
+	inst->addAnimation(name, fileName);
+	return 0;
+}
+
+static int Polycore_Skeleton_getAnimation(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	const String & name = *( String *)lua_topointer(L, 2);
+	void *ptrRetVal = (void*)inst->getAnimation(name);
+	if(ptrRetVal == NULL) {
+		lua_pushnil(L);
+	} else {
+		lua_pushlightuserdata(L, ptrRetVal);
+	}
+	return 1;
+}
+
+static int Polycore_Skeleton_Update(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	inst->Update();
+	return 0;
+}
+
+static int Polycore_Skeleton_getBoneByName(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	const String & name = *( String *)lua_topointer(L, 2);
+	void *ptrRetVal = (void*)inst->getBoneByName(name);
+	if(ptrRetVal == NULL) {
+		lua_pushnil(L);
+	} else {
+		lua_pushlightuserdata(L, ptrRetVal);
+	}
+	return 1;
+}
+
+static int Polycore_Skeleton_bonesVisible(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TBOOLEAN);
+	bool val = lua_toboolean(L, 2);
+	inst->bonesVisible(val);
+	return 0;
+}
+
+static int Polycore_Skeleton_enableBoneLabels(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TLIGHTUSERDATA);
+	const String & labelFont = *( String *)lua_topointer(L, 2);
+	luaL_checktype(L, 3, LUA_TNUMBER);
+	Number size = lua_tonumber(L, 3);
+	luaL_checktype(L, 4, LUA_TNUMBER);
+	Number scale = lua_tonumber(L, 4);
+	luaL_checktype(L, 5, LUA_TLIGHTUSERDATA);
+	Color labelColor = *(Color*)lua_topointer(L, 5);
+	inst->enableBoneLabels(labelFont, size, scale, labelColor);
+	return 0;
+}
+
+static int Polycore_Skeleton_getNumBones(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	lua_pushinteger(L, inst->getNumBones());
+	return 1;
+}
+
+static int Polycore_Skeleton_getBone(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	luaL_checktype(L, 2, LUA_TNUMBER);
+	int index = lua_tointeger(L, 2);
+	void *ptrRetVal = (void*)inst->getBone(index);
+	if(ptrRetVal == NULL) {
+		lua_pushnil(L);
+	} else {
+		lua_pushlightuserdata(L, ptrRetVal);
+	}
+	return 1;
+}
+
+static int Polycore_Skeleton_getCurrentAnimation(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	void *ptrRetVal = (void*)inst->getCurrentAnimation();
+	if(ptrRetVal == NULL) {
+		lua_pushnil(L);
+	} else {
+		lua_pushlightuserdata(L, ptrRetVal);
+	}
+	return 1;
+}
+
+static int Polycore_delete_Skeleton(lua_State *L) {
+	luaL_checktype(L, 1, LUA_TLIGHTUSERDATA);
+	Skeleton *inst = (Skeleton*)lua_topointer(L, 1);
+	delete inst;
+	return 0;
+}
+
 static int Polycore_Matrix4(lua_State *L) {
 static int Polycore_Matrix4(lua_State *L) {
 	Matrix4 *inst = new Matrix4();
 	Matrix4 *inst = new Matrix4();
 	lua_pushlightuserdata(L, (void*)inst);
 	lua_pushlightuserdata(L, (void*)inst);

+ 38 - 0
Bindings/Contents/LUA/Source/PolycodeLUA.cpp

@@ -359,6 +359,44 @@ int luaopen_Polycode(lua_State *L) {
 		{"SceneManager_removeScene", Polycore_SceneManager_removeScene},
 		{"SceneManager_removeScene", Polycore_SceneManager_removeScene},
 		{"SceneManager_registerRenderTexture", Polycore_SceneManager_registerRenderTexture},
 		{"SceneManager_registerRenderTexture", Polycore_SceneManager_registerRenderTexture},
 		{"delete_SceneManager", Polycore_delete_SceneManager},
 		{"delete_SceneManager", Polycore_delete_SceneManager},
+		{"SkeletonAnimation", Polycore_SkeletonAnimation},
+		{"SkeletonAnimation_addBoneTrack", Polycore_SkeletonAnimation_addBoneTrack},
+		{"SkeletonAnimation_getName", Polycore_SkeletonAnimation_getName},
+		{"SkeletonAnimation_Play", Polycore_SkeletonAnimation_Play},
+		{"SkeletonAnimation_Stop", Polycore_SkeletonAnimation_Stop},
+		{"SkeletonAnimation_Update", Polycore_SkeletonAnimation_Update},
+		{"SkeletonAnimation_setSpeed", Polycore_SkeletonAnimation_setSpeed},
+		{"delete_SkeletonAnimation", Polycore_delete_SkeletonAnimation},
+		{"BoneTrack_get_LocXVec", Polycore_BoneTrack_get_LocXVec},
+		{"BoneTrack_get_LocYVec", Polycore_BoneTrack_get_LocYVec},
+		{"BoneTrack_get_LocZVec", Polycore_BoneTrack_get_LocZVec},
+		{"BoneTrack_get_ScaleXVec", Polycore_BoneTrack_get_ScaleXVec},
+		{"BoneTrack_get_ScaleYVec", Polycore_BoneTrack_get_ScaleYVec},
+		{"BoneTrack_get_ScaleZVec", Polycore_BoneTrack_get_ScaleZVec},
+		{"BoneTrack_get_boneQuat", Polycore_BoneTrack_get_boneQuat},
+		{"BoneTrack_get_QuatWVec", Polycore_BoneTrack_get_QuatWVec},
+		{"BoneTrack_get_QuatXVec", Polycore_BoneTrack_get_QuatXVec},
+		{"BoneTrack_get_QuatYVec", Polycore_BoneTrack_get_QuatYVec},
+		{"BoneTrack_get_QuatZVec", Polycore_BoneTrack_get_QuatZVec},
+		{"BoneTrack", Polycore_BoneTrack},
+		{"BoneTrack_Play", Polycore_BoneTrack_Play},
+		{"BoneTrack_Stop", Polycore_BoneTrack_Stop},
+		{"BoneTrack_Update", Polycore_BoneTrack_Update},
+		{"BoneTrack_setSpeed", Polycore_BoneTrack_setSpeed},
+		{"delete_BoneTrack", Polycore_delete_BoneTrack},
+		{"Skeleton", Polycore_Skeleton},
+		{"Skeleton_loadSkeleton", Polycore_Skeleton_loadSkeleton},
+		{"Skeleton_playAnimationByIndex", Polycore_Skeleton_playAnimationByIndex},
+		{"Skeleton_addAnimation", Polycore_Skeleton_addAnimation},
+		{"Skeleton_getAnimation", Polycore_Skeleton_getAnimation},
+		{"Skeleton_Update", Polycore_Skeleton_Update},
+		{"Skeleton_getBoneByName", Polycore_Skeleton_getBoneByName},
+		{"Skeleton_bonesVisible", Polycore_Skeleton_bonesVisible},
+		{"Skeleton_enableBoneLabels", Polycore_Skeleton_enableBoneLabels},
+		{"Skeleton_getNumBones", Polycore_Skeleton_getNumBones},
+		{"Skeleton_getBone", Polycore_Skeleton_getBone},
+		{"Skeleton_getCurrentAnimation", Polycore_Skeleton_getCurrentAnimation},
+		{"delete_Skeleton", Polycore_delete_Skeleton},
 		{"Matrix4", Polycore_Matrix4},
 		{"Matrix4", Polycore_Matrix4},
 		{"Matrix4_identity", Polycore_Matrix4_identity},
 		{"Matrix4_identity", Polycore_Matrix4_identity},
 		{"Matrix4_rotateVector", Polycore_Matrix4_rotateVector},
 		{"Matrix4_rotateVector", Polycore_Matrix4_rotateVector},