#pragma once

// Helper Functions
int AGKLUA_CountArgs(lua_State *L, int required)
{
	// get the number of arguments on the stack
	int received = lua_gettop(L);

	// Do we have enough arguments
	if (received == required)
	{
		return true;
	}
	else
	{
		// We do not have enough arguments
		char buffer[50];
		int result = sprintf(buffer, "%d arguments expected,  %d arguments received.", required, received);
		luaL_error(L, buffer);
		return false;
	}
}
const char * AGKLUA_CheckString(lua_State *L, int arg_index)
{
	const char * result;
	if (lua_isstring(L, arg_index))
	{
		result = lua_tostring(L, arg_index);
		return result;
	}
	else
	{
		luaL_typeerror(L, arg_index, "String");
		result = "";
		return result;
	}
}
int AGKLUA_CheckNumber(lua_State *L, int arg_index)
{

	if (lua_isnumber(L, arg_index))
	{
		int result = (int)lua_tonumber(L, arg_index);
		return result;
	}
	else
	{
		luaL_typeerror(L, arg_index, "Number");
	}
	return 0;
}
float AGKLUA_CheckFloat(lua_State *L, int arg_index)
{

	if (lua_isnumber(L, arg_index))
	{
		float result = (float)lua_tonumber(L, arg_index);
		return result;
	}
	else
	{
		luaL_typeerror(L, arg_index, "Number");
	}
	return 0.0f;
}
boolean AGKLUA_CheckBoolean(lua_State *L, int arg_index)
{

	if (lua_isboolean(L, arg_index))
	{
		boolean result = (boolean)lua_toboolean(L, arg_index);
		return result;
	}
	else
	{
		luaL_typeerror(L, arg_index, "Boolean");
	}
	return false;
}
int AGKLUA_CheckFunction(lua_State *L, int arg_index)
{

	if (lua_isfunction(L, arg_index))
	{
		//float result = lua_tocfunction(L, arg_index);
		return 1;
	}
	else
	{
		luaL_typeerror(L, arg_index, "Boolean");
		return 0;
	}
}


int AGKLua_WorldToScreenX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float x = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::WorldToScreenX(x);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_WorldToScreenY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float y = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::WorldToScreenY(y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ScreenToWorldX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float x = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::ScreenToWorldX(x);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ScreenToWorldY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float y = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::ScreenToWorldY(y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetResolutionMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetResolutionMode(mode);
	return 0;
}
int AGKLua_SetSyncRate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float fps = AGKLUA_CheckFloat(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSyncRate(fps, mode);
	return 0;
}
int AGKLua_SetOrientationAllowed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int portrait = AGKLUA_CheckNumber(L, 1);
	int portrait2 = AGKLUA_CheckNumber(L, 2);
	int landscape = AGKLUA_CheckNumber(L, 3);
	int landscape2 = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetOrientationAllowed(portrait, portrait2, landscape, landscape2);
	return 0;
}
int AGKLua_SetTransitionMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetTransitionMode(mode);
	return 0;
}
int AGKLua_SetDisplayAspect(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float aspect = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetDisplayAspect(aspect);
	return 0;
}
int AGKLua_SetRenderToImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int colorImage = AGKLUA_CheckNumber(L, 1);
	int depthImage = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetRenderToImage(colorImage, depthImage);
	return 0;
}
int AGKLua_SetRenderToScreen(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::SetRenderToScreen();
	return 0;
}
int AGKLua_GetCL(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetCL();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetScissor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float x2 = AGKLUA_CheckFloat(L, 3);
	float y2 = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetScissor(x, y, x2, y2);
	return 0;
}
int AGKLua_SetIntendedDeviceSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int width = AGKLUA_CheckNumber(L, 1);
	int height = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetIntendedDeviceSize(width, height);
	return 0;
}
int AGKLua_UseNewDefaultFonts(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::UseNewDefaultFonts(mode);
	return 0;
}
int AGKLua_GetDeviceWidth(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetDeviceWidth();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDeviceHeight(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetDeviceHeight();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetVirtualResolution(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iWidth = AGKLUA_CheckNumber(L, 1);
	int iHeight = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualResolution(iWidth, iHeight);
	return 0;
}
int AGKLua_UpdateDeviceSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int w = AGKLUA_CheckNumber(L, 1);
	int h = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::UpdateDeviceSize(w, h);
	return 0;
}
int AGKLua_GetVirtualWidth(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetVirtualWidth();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVirtualHeight(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetVirtualHeight();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetScreenBoundsLeft(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetScreenBoundsLeft();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetScreenBoundsRight(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetScreenBoundsRight();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetScreenBoundsTop(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetScreenBoundsTop();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetScreenBoundsBottom(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetScreenBoundsBottom();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDisplayAspect(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetDisplayAspect();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetOrientation(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetOrientation();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPaused(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetPaused();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetResumed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetResumed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetDefaultMagFilter(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int filter = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetDefaultMagFilter(filter);
	return 0;
}
int AGKLua_SetDefaultMinFilter(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int filter = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetDefaultMinFilter(filter);
	return 0;
}
int AGKLua_SetDefaultWrapU(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetDefaultWrapU(mode);
	return 0;
}
int AGKLua_SetDefaultWrapV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetDefaultWrapV(mode);
	return 0;
}
int AGKLua_SetViewOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetViewOffset(x, y);
	return 0;
}
int AGKLua_SetViewZoom(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float zoom = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetViewZoom(zoom);
	return 0;
}
int AGKLua_SetViewZoomMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetViewZoomMode(mode);
	return 0;
}
int AGKLua_GetViewOffsetX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetViewOffsetX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetViewOffsetY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetViewOffsetY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetViewZoom(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetViewZoom();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Sync(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Sync();
	return 0;
}
int AGKLua_Break(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Break();
	return 0;
}
int AGKLua_StepPhysics(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float time = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::StepPhysics(time);
	return 0;
}
int AGKLua_Update(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float time = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::Update(time);
	return 0;
}
int AGKLua_Update2D(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float time = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::Update2D(time);
	return 0;
}
int AGKLua_Update3D(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float time = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::Update3D(time);
	return 0;
}
int AGKLua_Render2DBack(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Render2DBack();
	return 0;
}
int AGKLua_Render(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Render();
	return 0;
}
int AGKLua_Render2DFront(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Render2DFront();
	return 0;
}
int AGKLua_Render3D(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Render3D();
	return 0;
}
int AGKLua_Swap(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Swap();
	return 0;
}
int AGKLua_ClearScreen(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ClearScreen();
	return 0;
}
int AGKLua_ClearDepthBuffer(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ClearDepthBuffer();
	return 0;
}
int AGKLua_SetGenerateMipmaps(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int generate = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetGenerateMipmaps(generate);
	return 0;
}
int AGKLua_Timer(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::Timer();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ResetTimer(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ResetTimer();
	return 0;
}
int AGKLua_GetRunTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRunTime();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSeconds(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetSeconds();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetFrameTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetFrameTime();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMilliseconds(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetMilliseconds();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDeviceID(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetDeviceID();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetNumProcessors(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetNumProcessors();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Sha1(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * str = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::Sha1(str);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Sha256(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * str = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::Sha256(str);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Sha512(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * str = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::Sha512(str);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_HTTPEncode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * str = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::HTTPEncode(str);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_HTTPDecode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * str = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::HTTPDecode(str);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetRandomSeed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int seed = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetRandomSeed(seed);
	return 0;
}
int AGKLua_Random(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int from = AGKLUA_CheckNumber(L, 1);
	int to = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::Random(from, to);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_RandomSign(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int value = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::RandomSign(value);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetRandomSeed2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int seed = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetRandomSeed2(seed);
	return 0;
}
/*
int AGKLua_Random2(lua_State *L)
{
// Get variables from lua

// Call function and push result
int result = agk::Random2();
lua_pushnumber(L, result);
return 1;
}
*/
int AGKLua_Random2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int from = AGKLUA_CheckNumber(L, 1);
	int to = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::Random2(from, to);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ATanFull(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	float result = agk::ATanFull(x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ATanFullRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	float result = agk::ATanFullRad(x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSortTextures(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int sort = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSortTextures(sort);
	return 0;
}
int AGKLua_SetSortDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int sort = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSortDepth(sort);
	return 0;
}
int AGKLua_SetSortTransparentDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int sort = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSortTransparentDepth(sort);
	return 0;
}
int AGKLua_SetSortCreated(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int sort = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSortCreated(sort);
	return 0;
}
int AGKLua_ScreenFPS(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::ScreenFPS();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPolygonsDrawn(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetPolygonsDrawn();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVerticesProcessed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetVerticesProcessed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_EnableClearDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int clear = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::EnableClearDepth(clear);
	return 0;
}
int AGKLua_EnableClearColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int clear = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::EnableClearColor(clear);
	return 0;
}
int AGKLua_SetBorderColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetBorderColor(red, green, blue);
	return 0;
}
int AGKLua_SetClearColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetClearColor(red, green, blue);
	return 0;
}
int AGKLua_LoadImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * sImageFilename = AGKLUA_CheckString(L, 1);
	int bBlackToAlpha = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::LoadImage(sImageFilename, bBlackToAlpha);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadSubImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iParentIndex = AGKLUA_CheckNumber(L, 1);
	const char * sImageFilename = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::LoadSubImage(iParentIndex, sImageFilename);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadImageResized(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	const char * szFilename = AGKLUA_CheckString(L, 1);
	float scaleX = AGKLUA_CheckFloat(L, 2);
	float scaleY = AGKLUA_CheckFloat(L, 3);
	int cache = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::LoadImageResized(szFilename, scaleX, scaleY, cache);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateImageColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);
	int alpha = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::CreateImageColor(red, green, blue, alpha);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateRenderImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int width = AGKLUA_CheckNumber(L, 1);
	int height = AGKLUA_CheckNumber(L, 2);
	int format = AGKLUA_CheckNumber(L, 3);
	int mipmap = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::CreateRenderImage(width, height, format, mipmap);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetImageExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetImageExists(iImageIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteImage(iImageIndex);
	return 0;
}
int AGKLua_DeleteAllImages(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::DeleteAllImages();
	return 0;
}
int AGKLua_GetImageWidth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetImageWidth(iImageIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetImageHeight(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetImageHeight(iImageIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetImageMinFilter(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetImageMinFilter(iImageIndex, mode);
	return 0;
}
int AGKLua_SetImageMagFilter(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetImageMagFilter(iImageIndex, mode);
	return 0;
}
int AGKLua_SetImageWrapU(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetImageWrapU(iImageIndex, mode);
	return 0;
}
int AGKLua_SetImageWrapV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetImageWrapV(iImageIndex, mode);
	return 0;
}
int AGKLua_SetImageMask(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int iDstImage = AGKLUA_CheckNumber(L, 1);
	int iSrcImage = AGKLUA_CheckNumber(L, 2);
	int dst = AGKLUA_CheckNumber(L, 3);
	int src = AGKLUA_CheckNumber(L, 4);
	int x = AGKLUA_CheckNumber(L, 5);
	int y = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	agk::SetImageMask(iDstImage, iSrcImage, dst, src, x, y);
	return 0;
}
int AGKLua_SetImageTransparentColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iImage = AGKLUA_CheckNumber(L, 1);
	int r = AGKLUA_CheckNumber(L, 2);
	int g = AGKLUA_CheckNumber(L, 3);
	int b = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetImageTransparentColor(iImage, r, g, b);
	return 0;
}
int AGKLua_SaveImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);
	const char * filename = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SaveImage(iImageIndex, filename);
	return 0;
}
int AGKLua_GetImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float width = AGKLUA_CheckFloat(L, 3);
	float height = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	int result = agk::GetImage(x, y, width, height);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetImageFilename(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetImageFilename(imageID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_CopyImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int fromImage = AGKLUA_CheckNumber(L, 1);
	int x = AGKLUA_CheckNumber(L, 2);
	int y = AGKLUA_CheckNumber(L, 3);
	int width = AGKLUA_CheckNumber(L, 4);
	int height = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	int result = agk::CopyImage(fromImage, x, y, width, height);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ResizeImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int imageID = AGKLUA_CheckNumber(L, 1);
	int width = AGKLUA_CheckNumber(L, 2);
	int height = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::ResizeImage(imageID, width, height);
	return 0;
}
int AGKLua_ShowChooseImageScreen(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::ShowChooseImageScreen();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_IsChoosingImage(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::IsChoosingImage();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetChosenImage(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetChosenImage();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ShowImageCaptureScreen(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::ShowImageCaptureScreen();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_IsCapturingImage(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::IsCapturingImage();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCapturedImage(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetCapturedImage();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DecodeQRCode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int image = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::DecodeQRCode(image);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_EncodeQRCode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * text = AGKLUA_CheckString(L, 1);
	int errormode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::EncodeQRCode(text, errormode);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_PrintImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int image = AGKLUA_CheckNumber(L, 1);
	float size = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::PrintImage(image, size);
	return 0;
}
int AGKLua_SetImageSavePixels(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetImageSavePixels(mode);
	return 0;
}
int AGKLua_GetSpritePtr(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::GetSpritePtr(iSpriteIndex);
	return 0;
}
int AGKLua_GetSpriteImageID(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteImageID(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CreateSprite(iImageIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * imagefile = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadSprite(imagefile);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CloneSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iOtherSprite = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CloneSprite(iOtherSprite);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateDummySprite(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::CreateDummySprite();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteExists(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteSprite(iSpriteIndex);
	return 0;
}
int AGKLua_DeleteAllSprites(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::DeleteAllSprites();
	return 0;
}
int AGKLua_SetSpriteImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iImageIndex = AGKLUA_CheckNumber(L, 2);
	int bUpdateShape = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpriteImage(iSpriteIndex, iImageIndex, bUpdateShape);
	return 0;
}
int AGKLua_SetSpriteAdditionalImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iImageIndex = AGKLUA_CheckNumber(L, 2);
	int iStage = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpriteAdditionalImage(iSpriteIndex, iImageIndex, iStage);
	return 0;
}
int AGKLua_SetSpriteUV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 9);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float u1 = AGKLUA_CheckFloat(L, 2);
	float v1 = AGKLUA_CheckFloat(L, 3);
	float u2 = AGKLUA_CheckFloat(L, 4);
	float v2 = AGKLUA_CheckFloat(L, 5);
	float u3 = AGKLUA_CheckFloat(L, 6);
	float v3 = AGKLUA_CheckFloat(L, 7);
	float u4 = AGKLUA_CheckFloat(L, 8);
	float v4 = AGKLUA_CheckFloat(L, 9);

	// Call function and push result
	agk::SetSpriteUV(iSpriteIndex, u1, v1, u2, v2, u3, v3, u4, v4);
	return 0;
}
int AGKLua_ResetSpriteUV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ResetSpriteUV(iSpriteIndex);
	return 0;
}
int AGKLua_SetSpritePosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float fX = AGKLUA_CheckFloat(L, 2);
	float fY = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpritePosition(iSpriteIndex, fX, fY);
	return 0;
}
int AGKLua_SetSpritePositionByOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float fX = AGKLUA_CheckFloat(L, 2);
	float fY = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpritePositionByOffset(iSpriteIndex, fX, fY);
	return 0;
}
int AGKLua_SetSpriteX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float fX = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpriteX(iSpriteIndex, fX);
	return 0;
}
int AGKLua_SetSpriteY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float fY = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpriteY(iSpriteIndex, fY);
	return 0;
}
int AGKLua_SetSpriteAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float fAng = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpriteAngle(iSpriteIndex, fAng);
	return 0;
}
int AGKLua_SetSpriteAngleRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float fAng = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpriteAngleRad(iSpriteIndex, fAng);
	return 0;
}
int AGKLua_SetSpriteDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iDepth = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteDepth(iSpriteIndex, iDepth);
	return 0;
}
int AGKLua_SetSpriteFlip(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int horz = AGKLUA_CheckNumber(L, 2);
	int vert = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpriteFlip(iSpriteIndex, horz, vert);
	return 0;
}
int AGKLua_SetSpriteSnap(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int snap = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteSnap(iSpriteIndex, snap);
	return 0;
}
int AGKLua_SetSpriteVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int bVisible = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteVisible(iSpriteIndex, bVisible);
	return 0;
}
int AGKLua_SetSpriteActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int bActive = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteActive(iSpriteIndex, bActive);
	return 0;
}
int AGKLua_GetSpriteX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteX(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteY(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteXByOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteXByOffset(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteYByOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteYByOffset(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteOffsetX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteOffsetX(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteOffsetY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteOffsetY(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteWidth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteWidth(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteAngle(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteAngleRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteAngleRad(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteHeight(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteHeight(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteScaleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteScaleX(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteScaleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpriteScaleY(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteHitTest(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	int result = agk::GetSpriteHitTest(iSpriteIndex, x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteHit(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	int result = agk::GetSpriteHit(x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteHitGroup(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int group = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	int result = agk::GetSpriteHitGroup(group, x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteHitCategory(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int categories = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	int result = agk::GetSpriteHitCategory(categories, x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteDepth(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteColorRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteColorRed(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteColorGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteColorGreen(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteColorBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteColorBlue(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteColorAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteColorAlpha(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpritePlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpritePlaying(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteVisible(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteActive(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteGroup(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteGroup(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteXFromPixel(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int x = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetSpriteXFromPixel(iSpriteIndex, x);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteYFromPixel(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int y = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetSpriteYFromPixel(iSpriteIndex, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpritePixelFromX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	int result = agk::GetSpritePixelFromX(iSpriteIndex, x);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpritePixelFromY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	int result = agk::GetSpritePixelFromY(iSpriteIndex, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetWorldXFromSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	float result = agk::GetWorldXFromSprite(iSpriteIndex, x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetWorldYFromSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	float result = agk::GetWorldYFromSprite(iSpriteIndex, x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteXFromWorld(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	float result = agk::GetSpriteXFromWorld(iSpriteIndex, x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteYFromWorld(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	float result = agk::GetSpriteYFromWorld(iSpriteIndex, x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSpriteSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float width = AGKLUA_CheckFloat(L, 2);
	float height = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpriteSize(iSpriteIndex, width, height);
	return 0;
}
int AGKLua_SetSpriteAnimation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iFrameWidth = AGKLUA_CheckNumber(L, 2);
	int iFrameHeight = AGKLUA_CheckNumber(L, 3);
	int iFrameCount = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetSpriteAnimation(iSpriteIndex, iFrameWidth, iFrameHeight, iFrameCount);
	return 0;
}
int AGKLua_AddSpriteAnimationFrame(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iImageIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::AddSpriteAnimationFrame(iSpriteIndex, iImageIndex);
	return 0;
}
int AGKLua_ClearSpriteAnimationFrames(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ClearSpriteAnimationFrames(iSpriteIndex);
	return 0;
}
int AGKLua_SetSpriteSpeed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float fFps = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpriteSpeed(iSpriteIndex, fFps);
	return 0;
}
int AGKLua_PlaySprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float fFps = AGKLUA_CheckFloat(L, 2);
	int iLoop = AGKLUA_CheckNumber(L, 3);
	int iFromFrame = AGKLUA_CheckNumber(L, 4);
	int iToFrame = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::PlaySprite(iSpriteIndex, fFps, iLoop, iFromFrame, iToFrame);
	return 0;
}
int AGKLua_StopSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::StopSprite(iSpriteIndex);
	return 0;
}
int AGKLua_ResumeSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ResumeSprite(iSpriteIndex);
	return 0;
}
int AGKLua_SetSpriteFrame(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iFrame = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteFrame(iSpriteIndex, iFrame);
	return 0;
}
int AGKLua_GetSpriteCurrentFrame(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteCurrentFrame(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteFrameCount(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteFrameCount(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSpriteTransparency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteTransparency(iSpriteIndex, mode);
	return 0;
}
int AGKLua_SetSpriteOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpriteOffset(iSpriteIndex, x, y);
	return 0;
}
int AGKLua_SetSpriteColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iRed = AGKLUA_CheckNumber(L, 2);
	int iGreen = AGKLUA_CheckNumber(L, 3);
	int iBlue = AGKLUA_CheckNumber(L, 4);
	int iAlpha = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::SetSpriteColor(iSpriteIndex, iRed, iGreen, iBlue, iAlpha);
	return 0;
}
int AGKLua_SetSpriteColorRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iRed = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteColorRed(iSpriteIndex, iRed);
	return 0;
}
int AGKLua_SetSpriteColorGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iGreen = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteColorGreen(iSpriteIndex, iGreen);
	return 0;
}
int AGKLua_SetSpriteColorBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iBlue = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteColorBlue(iSpriteIndex, iBlue);
	return 0;
}
int AGKLua_SetSpriteColorAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int iAlpha = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteColorAlpha(iSpriteIndex, iAlpha);
	return 0;
}
int AGKLua_SetSpriteUVBorder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float border = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpriteUVBorder(iSpriteIndex, border);
	return 0;
}
int AGKLua_SetSpriteUVOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float u = AGKLUA_CheckFloat(L, 2);
	float v = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpriteUVOffset(iSpriteIndex, u, v);
	return 0;
}
int AGKLua_SetSpriteUVScale(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float scaleU = AGKLUA_CheckFloat(L, 2);
	float scaleV = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpriteUVScale(iSpriteIndex, scaleU, scaleV);
	return 0;
}
int AGKLua_FixSpriteToScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::FixSpriteToScreen(iSpriteIndex, mode);
	return 0;
}
int AGKLua_SetSpriteScale(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpriteScale(iSpriteIndex, x, y);
	return 0;
}
int AGKLua_SetSpriteScaleByOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpriteScaleByOffset(iSpriteIndex, x, y);
	return 0;
}
int AGKLua_SetSpriteScissor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetSpriteScissor(iSpriteIndex, x, y, x2, y2);
	return 0;
}
int AGKLua_SetSpriteShader(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int spriteID = AGKLUA_CheckNumber(L, 1);
	int shaderID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpriteShader(spriteID, shaderID);
	return 0;
}
int AGKLua_DrawSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DrawSprite(iSpriteIndex);
	return 0;
}
int AGKLua_SetPhysicsScale(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float scale = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetPhysicsScale(scale);
	return 0;
}
int AGKLua_SetPhysicsGravity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetPhysicsGravity(x, y);
	return 0;
}
int AGKLua_SetPhysicsDebugOn(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::SetPhysicsDebugOn();
	return 0;
}
int AGKLua_SetPhysicsDebugOff(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::SetPhysicsDebugOff();
	return 0;
}
int AGKLua_SetPhysicsThreading(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int threads = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPhysicsThreading(threads);
	return 0;
}
int AGKLua_SetPhysicsCCD(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPhysicsCCD(mode);
	return 0;
}
int AGKLua_SetPhysicsSleeping(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPhysicsSleeping(mode);
	return 0;
}
int AGKLua_GetPhysicsSolveTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetPhysicsSolveTime();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPhysicsIslandCount(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetPhysicsIslandCount();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetPhysicsMaxPolygonPoints(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int points = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPhysicsMaxPolygonPoints(points);
	return 0;
}
int AGKLua_SetPhysicsWallTop(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPhysicsWallTop(mode);
	return 0;
}
int AGKLua_SetPhysicsWallLeft(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPhysicsWallLeft(mode);
	return 0;
}
int AGKLua_SetPhysicsWallRight(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPhysicsWallRight(mode);
	return 0;
}
int AGKLua_SetPhysicsWallBottom(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPhysicsWallBottom(mode);
	return 0;
}
int AGKLua_CreatePhysicsForce(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float power = AGKLUA_CheckFloat(L, 3);
	float limit = AGKLUA_CheckFloat(L, 4);
	float range = AGKLUA_CheckFloat(L, 5);
	int fade = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	int result = agk::CreatePhysicsForce(x, y, power, limit, range, fade);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeletePhysicsForce(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iForceIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeletePhysicsForce(iForceIndex);
	return 0;
}
int AGKLua_SetPhysicsForcePosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iForceIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetPhysicsForcePosition(iForceIndex, x, y);
	return 0;
}
int AGKLua_SetPhysicsForcePower(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iForceIndex = AGKLUA_CheckNumber(L, 1);
	float power = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetPhysicsForcePower(iForceIndex, power);
	return 0;
}
int AGKLua_SetPhysicsForceRange(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iForceIndex = AGKLUA_CheckNumber(L, 1);
	float range = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetPhysicsForceRange(iForceIndex, range);
	return 0;
}
/*
int AGKLua_SetSpriteShape(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
int shape = AGKLUA_CheckNumber(L, 2);

// Call function and push result
agk::SetSpriteShape(iSpriteIndex,shape);
return 0;
}
*/
int AGKLua_SetSpriteShape(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int shape = AGKLUA_CheckNumber(L, 2);
	int shapeID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpriteShape(iSpriteIndex, shape, shapeID);
	return 0;
}
/*
int AGKLua_SetSpriteShapeBox(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 6);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
float x = AGKLUA_CheckFloat(L, 2);
float y = AGKLUA_CheckFloat(L, 3);
float x2 = AGKLUA_CheckFloat(L, 4);
float y2 = AGKLUA_CheckFloat(L, 5);
float angle = AGKLUA_CheckFloat(L, 6);

// Call function and push result
agk::SetSpriteShapeBox(iSpriteIndex,x,y,x2,y2,angle);
return 0;
}
*/
int AGKLua_SetSpriteShapeBox(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);
	float angle = AGKLUA_CheckFloat(L, 6);
	int shapeID = AGKLUA_CheckNumber(L, 7);

	// Call function and push result
	agk::SetSpriteShapeBox(iSpriteIndex, x, y, x2, y2, angle, shapeID);
	return 0;
}
/*
int AGKLua_SetSpriteShapeCircle(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 4);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
float x = AGKLUA_CheckFloat(L, 2);
float y = AGKLUA_CheckFloat(L, 3);
float radius = AGKLUA_CheckFloat(L, 4);

// Call function and push result
agk::SetSpriteShapeCircle(iSpriteIndex,x,y,radius);
return 0;
}
*/
int AGKLua_SetSpriteShapeCircle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float radius = AGKLUA_CheckFloat(L, 4);
	int shapeID = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::SetSpriteShapeCircle(iSpriteIndex, x, y, radius, shapeID);
	return 0;
}
/*
int AGKLua_SetSpriteShapePolygon(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 5);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
int numPoints = AGKLUA_CheckNumber(L, 2);
int index = AGKLUA_CheckNumber(L, 3);
float x = AGKLUA_CheckFloat(L, 4);
float y = AGKLUA_CheckFloat(L, 5);

// Call function and push result
agk::SetSpriteShapePolygon(iSpriteIndex,numPoints,index,x,y);
return 0;
}
*/
int AGKLua_SetSpriteShapePolygon(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int numPoints = AGKLUA_CheckNumber(L, 2);
	int index = AGKLUA_CheckNumber(L, 3);
	float x = AGKLUA_CheckFloat(L, 4);
	float y = AGKLUA_CheckFloat(L, 5);
	int shapeID = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	agk::SetSpriteShapePolygon(iSpriteIndex, numPoints, index, x, y, shapeID);
	return 0;
}
int AGKLua_AddSpriteShapeBox(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);
	float angle = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::AddSpriteShapeBox(iSpriteIndex, x, y, x2, y2, angle);
	return 0;
}
int AGKLua_AddSpriteShapeCircle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float radius = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::AddSpriteShapeCircle(iSpriteIndex, x, y, radius);
	return 0;
}
int AGKLua_AddSpriteShapePolygon(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int numPoints = AGKLUA_CheckNumber(L, 2);
	int index = AGKLUA_CheckNumber(L, 3);
	float x = AGKLUA_CheckFloat(L, 4);
	float y = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::AddSpriteShapePolygon(iSpriteIndex, numPoints, index, x, y);
	return 0;
}
int AGKLua_ClearSpriteShapes(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ClearSpriteShapes(iSpriteIndex);
	return 0;
}
int AGKLua_SetSpritePhysicsCOM(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpritePhysicsCOM(iSpriteIndex, x, y);
	return 0;
}
int AGKLua_CalculateSpritePhysicsCOM(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::CalculateSpritePhysicsCOM(iSpriteIndex);
	return 0;
}
int AGKLua_SetSpritePhysicsOn(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpritePhysicsOn(iSpriteIndex, mode);
	return 0;
}
int AGKLua_SetSpritePhysicsOff(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSpritePhysicsOff(iSpriteIndex);
	return 0;
}
int AGKLua_SetSpritePhysicsDelete(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSpritePhysicsDelete(iSpriteIndex);
	return 0;
}
/*
int AGKLua_SetSpritePhysicsFriction(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
float friction = AGKLUA_CheckFloat(L, 2);

// Call function and push result
agk::SetSpritePhysicsFriction(iSpriteIndex,friction);
return 0;
}
*/
int AGKLua_SetSpritePhysicsFriction(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float friction = AGKLUA_CheckFloat(L, 2);
	int shapeID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpritePhysicsFriction(iSpriteIndex, friction, shapeID);
	return 0;
}
/*
int AGKLua_SetSpritePhysicsRestitution(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
float restitution = AGKLUA_CheckFloat(L, 2);

// Call function and push result
agk::SetSpritePhysicsRestitution(iSpriteIndex,restitution);
return 0;
}
*/
int AGKLua_SetSpritePhysicsRestitution(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float restitution = AGKLUA_CheckFloat(L, 2);
	int shapeID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpritePhysicsRestitution(iSpriteIndex, restitution, shapeID);
	return 0;
}
int AGKLua_SetSpritePhysicsCanRotate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int rotate = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpritePhysicsCanRotate(iSpriteIndex, rotate);
	return 0;
}
int AGKLua_SetSpritePhysicsVelocity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float vx = AGKLUA_CheckFloat(L, 2);
	float vy = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSpritePhysicsVelocity(iSpriteIndex, vx, vy);
	return 0;
}
int AGKLua_SetSpritePhysicsAngularVelocity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float va = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpritePhysicsAngularVelocity(iSpriteIndex, va);
	return 0;
}
int AGKLua_SetSpritePhysicsDamping(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float damp = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpritePhysicsDamping(iSpriteIndex, damp);
	return 0;
}
int AGKLua_SetSpritePhysicsAngularDamping(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float damp = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpritePhysicsAngularDamping(iSpriteIndex, damp);
	return 0;
}
int AGKLua_SetSpritePhysicsIsBullet(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int bullet = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSpritePhysicsIsBullet(iSpriteIndex, bullet);
	return 0;
}
int AGKLua_SetSpritePhysicsMass(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float mass = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpritePhysicsMass(iSpriteIndex, mass);
	return 0;
}
/*
int AGKLua_SetSpritePhysicsIsSensor(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
int sensor = AGKLUA_CheckNumber(L, 2);

// Call function and push result
agk::SetSpritePhysicsIsSensor(iSpriteIndex,sensor);
return 0;
}
*/
int AGKLua_SetSpritePhysicsIsSensor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int sensor = AGKLUA_CheckNumber(L, 2);
	int shapeID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpritePhysicsIsSensor(iSpriteIndex, sensor, shapeID);
	return 0;
}
/*
int AGKLua_SetSpriteGroup(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
int group = AGKLUA_CheckNumber(L, 2);

// Call function and push result
agk::SetSpriteGroup(iSpriteIndex,group);
return 0;
}
*/
int AGKLua_SetSpriteGroup(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int group = AGKLUA_CheckNumber(L, 2);
	int shapeID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpriteGroup(iSpriteIndex, group, shapeID);
	return 0;
}
/*
int AGKLua_SetSpriteCategoryBits(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
int categories = AGKLUA_CheckNumber(L, 2);

// Call function and push result
agk::SetSpriteCategoryBits(iSpriteIndex,categories);
return 0;
}
*/
int AGKLua_SetSpriteCategoryBits(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int categories = AGKLUA_CheckNumber(L, 2);
	int shapeID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpriteCategoryBits(iSpriteIndex, categories, shapeID);
	return 0;
}
/*
int AGKLua_SetSpriteCategoryBit(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 3);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
int category = AGKLUA_CheckNumber(L, 2);
int flag = AGKLUA_CheckNumber(L, 3);

// Call function and push result
agk::SetSpriteCategoryBit(iSpriteIndex,category,flag);
return 0;
}
*/
int AGKLua_SetSpriteCategoryBit(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int category = AGKLUA_CheckNumber(L, 2);
	int flag = AGKLUA_CheckNumber(L, 3);
	int shapeID = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetSpriteCategoryBit(iSpriteIndex, category, flag, shapeID);
	return 0;
}
/*
int AGKLua_SetSpriteCollideBits(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
int mask = AGKLUA_CheckNumber(L, 2);

// Call function and push result
agk::SetSpriteCollideBits(iSpriteIndex,mask);
return 0;
}
*/
int AGKLua_SetSpriteCollideBits(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int mask = AGKLUA_CheckNumber(L, 2);
	int shapeID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpriteCollideBits(iSpriteIndex, mask, shapeID);
	return 0;
}
/*
int AGKLua_SetSpriteCollideBit(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 3);
int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
int category = AGKLUA_CheckNumber(L, 2);
int flag = AGKLUA_CheckNumber(L, 3);

// Call function and push result
agk::SetSpriteCollideBit(iSpriteIndex,category,flag);
return 0;
}
*/
int AGKLua_SetSpriteCollideBit(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int category = AGKLUA_CheckNumber(L, 2);
	int flag = AGKLUA_CheckNumber(L, 3);
	int shapeID = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetSpriteCollideBit(iSpriteIndex, category, flag, shapeID);
	return 0;
}
int AGKLua_SetSpritePhysicsForce(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float vx = AGKLUA_CheckFloat(L, 4);
	float vy = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetSpritePhysicsForce(iSpriteIndex, x, y, vx, vy);
	return 0;
}
int AGKLua_SetSpritePhysicsTorque(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float torque = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpritePhysicsTorque(iSpriteIndex, torque);
	return 0;
}
int AGKLua_SetSpritePhysicsImpulse(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float vx = AGKLUA_CheckFloat(L, 4);
	float vy = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetSpritePhysicsImpulse(iSpriteIndex, x, y, vx, vy);
	return 0;
}
int AGKLua_SetSpritePhysicsAngularImpulse(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float impulse = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSpritePhysicsAngularImpulse(iSpriteIndex, impulse);
	return 0;
}
int AGKLua_GetSpritePhysicsVelocityX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpritePhysicsVelocityX(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpritePhysicsVelocityY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpritePhysicsVelocityY(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpritePhysicsAngularVelocity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpritePhysicsAngularVelocity(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpritePhysicsMass(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpritePhysicsMass(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteJoint(iJointIndex);
	return 0;
}
int AGKLua_GetJointExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetJointExists(iJointIndex);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_CreateDistanceJoint(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 8);
int iJointIndex = AGKLUA_CheckNumber(L, 1);
int iSpriteIndex1 = AGKLUA_CheckNumber(L, 2);
int iSpriteIndex2 = AGKLUA_CheckNumber(L, 3);
float x = AGKLUA_CheckFloat(L, 4);
float y = AGKLUA_CheckFloat(L, 5);
float x2 = AGKLUA_CheckFloat(L, 6);
float y2 = AGKLUA_CheckFloat(L, 7);
int colConnected = AGKLUA_CheckNumber(L, 8);

// Call function and push result
agk::CreateDistanceJoint(iJointIndex,iSpriteIndex1,iSpriteIndex2,x,y,x2,y2,colConnected);
return 0;
}
*/
int AGKLua_CreateDistanceJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int iSpriteIndex1 = AGKLUA_CheckNumber(L, 1);
	int iSpriteIndex2 = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float x2 = AGKLUA_CheckFloat(L, 5);
	float y2 = AGKLUA_CheckFloat(L, 6);
	int colConnected = AGKLUA_CheckNumber(L, 7);

	// Call function and push result
	int result = agk::CreateDistanceJoint(iSpriteIndex1, iSpriteIndex2, x, y, x2, y2, colConnected);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_CreateRevoluteJoint(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 6);
int iJointIndex = AGKLUA_CheckNumber(L, 1);
int iSpriteIndex1 = AGKLUA_CheckNumber(L, 2);
int iSpriteIndex2 = AGKLUA_CheckNumber(L, 3);
float x = AGKLUA_CheckFloat(L, 4);
float y = AGKLUA_CheckFloat(L, 5);
int colConnected = AGKLUA_CheckNumber(L, 6);

// Call function and push result
agk::CreateRevoluteJoint(iJointIndex,iSpriteIndex1,iSpriteIndex2,x,y,colConnected);
return 0;
}
*/
int AGKLua_CreateRevoluteJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSpriteIndex1 = AGKLUA_CheckNumber(L, 1);
	int iSpriteIndex2 = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	int colConnected = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	int result = agk::CreateRevoluteJoint(iSpriteIndex1, iSpriteIndex2, x, y, colConnected);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_CreatePrismaticJoint(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 8);
int iJointIndex = AGKLUA_CheckNumber(L, 1);
int iSpriteIndex1 = AGKLUA_CheckNumber(L, 2);
int iSpriteIndex2 = AGKLUA_CheckNumber(L, 3);
float x = AGKLUA_CheckFloat(L, 4);
float y = AGKLUA_CheckFloat(L, 5);
float vx = AGKLUA_CheckFloat(L, 6);
float vy = AGKLUA_CheckFloat(L, 7);
int colConnected = AGKLUA_CheckNumber(L, 8);

// Call function and push result
agk::CreatePrismaticJoint(iJointIndex,iSpriteIndex1,iSpriteIndex2,x,y,vx,vy,colConnected);
return 0;
}
*/
int AGKLua_CreatePrismaticJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int iSpriteIndex1 = AGKLUA_CheckNumber(L, 1);
	int iSpriteIndex2 = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float vx = AGKLUA_CheckFloat(L, 5);
	float vy = AGKLUA_CheckFloat(L, 6);
	int colConnected = AGKLUA_CheckNumber(L, 7);

	// Call function and push result
	int result = agk::CreatePrismaticJoint(iSpriteIndex1, iSpriteIndex2, x, y, vx, vy, colConnected);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreatePulleyJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 13);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);
	int iSpriteIndex1 = AGKLUA_CheckNumber(L, 2);
	int iSpriteIndex2 = AGKLUA_CheckNumber(L, 3);
	float gnd1x = AGKLUA_CheckFloat(L, 4);
	float gnd1y = AGKLUA_CheckFloat(L, 5);
	float gnd2x = AGKLUA_CheckFloat(L, 6);
	float gnd2y = AGKLUA_CheckFloat(L, 7);
	float a1x = AGKLUA_CheckFloat(L, 8);
	float a1y = AGKLUA_CheckFloat(L, 9);
	float a2x = AGKLUA_CheckFloat(L, 10);
	float a2y = AGKLUA_CheckFloat(L, 11);
	float ratio = AGKLUA_CheckFloat(L, 12);
	int colConnected = AGKLUA_CheckNumber(L, 13);

	// Call function and push result
	agk::CreatePulleyJoint(iJointIndex, iSpriteIndex1, iSpriteIndex2, gnd1x, gnd1y, gnd2x, gnd2y, a1x, a1y, a2x, a2y, ratio, colConnected);
	return 0;
}
/*
int AGKLua_CreateMouseJoint(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 5);
int iJointIndex = AGKLUA_CheckNumber(L, 1);
int iSpriteIndex = AGKLUA_CheckNumber(L, 2);
float x = AGKLUA_CheckFloat(L, 3);
float y = AGKLUA_CheckFloat(L, 4);
float maxForce = AGKLUA_CheckFloat(L, 5);

// Call function and push result
agk::CreateMouseJoint(iJointIndex,iSpriteIndex,x,y,maxForce);
return 0;
}
*/
int AGKLua_CreateMouseJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float maxForce = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	int result = agk::CreateMouseJoint(iSpriteIndex, x, y, maxForce);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_CreateLineJoint(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 8);
int iJointIndex = AGKLUA_CheckNumber(L, 1);
int iSpriteIndex1 = AGKLUA_CheckNumber(L, 2);
int iSpriteIndex2 = AGKLUA_CheckNumber(L, 3);
float x = AGKLUA_CheckFloat(L, 4);
float y = AGKLUA_CheckFloat(L, 5);
float vx = AGKLUA_CheckFloat(L, 6);
float vy = AGKLUA_CheckFloat(L, 7);
int colConnected = AGKLUA_CheckNumber(L, 8);

// Call function and push result
agk::CreateLineJoint(iJointIndex,iSpriteIndex1,iSpriteIndex2,x,y,vx,vy,colConnected);
return 0;
}
*/
int AGKLua_CreateLineJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int iSpriteIndex1 = AGKLUA_CheckNumber(L, 1);
	int iSpriteIndex2 = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float vx = AGKLUA_CheckFloat(L, 5);
	float vy = AGKLUA_CheckFloat(L, 6);
	int colConnected = AGKLUA_CheckNumber(L, 7);

	// Call function and push result
	int result = agk::CreateLineJoint(iSpriteIndex1, iSpriteIndex2, x, y, vx, vy, colConnected);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_CreateWeldJoint(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 6);
int iJointIndex = AGKLUA_CheckNumber(L, 1);
int iSpriteIndex1 = AGKLUA_CheckNumber(L, 2);
int iSpriteIndex2 = AGKLUA_CheckNumber(L, 3);
float x = AGKLUA_CheckFloat(L, 4);
float y = AGKLUA_CheckFloat(L, 5);
int colConnected = AGKLUA_CheckNumber(L, 6);

// Call function and push result
agk::CreateWeldJoint(iJointIndex,iSpriteIndex1,iSpriteIndex2,x,y,colConnected);
return 0;
}
*/
int AGKLua_CreateWeldJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSpriteIndex1 = AGKLUA_CheckNumber(L, 1);
	int iSpriteIndex2 = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	int colConnected = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	int result = agk::CreateWeldJoint(iSpriteIndex1, iSpriteIndex2, x, y, colConnected);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_CreateGearJoint(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 4);
int iJointIndex = AGKLUA_CheckNumber(L, 1);
int iJoint1 = AGKLUA_CheckNumber(L, 2);
int iJoint2 = AGKLUA_CheckNumber(L, 3);
float ratio = AGKLUA_CheckFloat(L, 4);

// Call function and push result
agk::CreateGearJoint(iJointIndex,iJoint1,iJoint2,ratio);
return 0;
}
*/
int AGKLua_CreateGearJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iJoint1 = AGKLUA_CheckNumber(L, 1);
	int iJoint2 = AGKLUA_CheckNumber(L, 2);
	float ratio = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	int result = agk::CreateGearJoint(iJoint1, iJoint2, ratio);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreatePulleyJoint2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSpriteIndex1 = AGKLUA_CheckNumber(L, 1);
	int iSpriteIndex2 = AGKLUA_CheckNumber(L, 2);
	float ratio = AGKLUA_CheckFloat(L, 3);
	int colConnected = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::CreatePulleyJoint2(iSpriteIndex1, iSpriteIndex2, ratio, colConnected);
	return 0;
}
int AGKLua_FinishPulleyJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 8);
	float gnd1x = AGKLUA_CheckFloat(L, 1);
	float gnd1y = AGKLUA_CheckFloat(L, 2);
	float gnd2x = AGKLUA_CheckFloat(L, 3);
	float gnd2y = AGKLUA_CheckFloat(L, 4);
	float a1x = AGKLUA_CheckFloat(L, 5);
	float a1y = AGKLUA_CheckFloat(L, 6);
	float a2x = AGKLUA_CheckFloat(L, 7);
	float a2y = AGKLUA_CheckFloat(L, 8);

	// Call function and push result
	int result = agk::FinishPulleyJoint(gnd1x, gnd1y, gnd2x, gnd2y, a1x, a1y, a2x, a2y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetJointLimitOn(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);
	float lowerLimit = AGKLUA_CheckFloat(L, 2);
	float upperLimit = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetJointLimitOn(iJointIndex, lowerLimit, upperLimit);
	return 0;
}
int AGKLua_SetJointLimitOff(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetJointLimitOff(iJointIndex);
	return 0;
}
int AGKLua_SetJointMotorOn(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);
	float speed = AGKLUA_CheckFloat(L, 2);
	float maxForce = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetJointMotorOn(iJointIndex, speed, maxForce);
	return 0;
}
int AGKLua_SetJointMotorOff(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetJointMotorOff(iJointIndex);
	return 0;
}
int AGKLua_SetJointMouseTarget(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetJointMouseTarget(iJointIndex, x, y);
	return 0;
}
int AGKLua_GetJointReactionForceX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetJointReactionForceX(iJointIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetJointReactionForceY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetJointReactionForceY(iJointIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetJointReactionTorque(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetJointReactionTorque(iJointIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_PhysicsRayCast(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float x2 = AGKLUA_CheckFloat(L, 3);
	float y2 = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	int result = agk::PhysicsRayCast(x, y, x2, y2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_PhysicsRayCastGroup(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int group = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	int result = agk::PhysicsRayCastGroup(group, x, y, x2, y2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_PhysicsRayCastCategory(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int category = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	int result = agk::PhysicsRayCastCategory(category, x, y, x2, y2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SpriteRayCastSingle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int sprite = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	int result = agk::SpriteRayCastSingle(sprite, x, y, x2, y2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SpriteRayCast(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float x2 = AGKLUA_CheckFloat(L, 3);
	float y2 = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	int result = agk::SpriteRayCast(x, y, x2, y2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SpriteRayCastGroup(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int group = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	int result = agk::SpriteRayCastGroup(group, x, y, x2, y2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SpriteRayCastCategory(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int category = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	int result = agk::SpriteRayCastCategory(category, x, y, x2, y2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRayCastSpriteID(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRayCastSpriteID();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRayCastX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRayCastX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRayCastY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRayCastY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRayCastNormalX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRayCastNormalX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRayCastNormalY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRayCastNormalY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRayCastFraction(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRayCastFraction();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteInBox(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSprite = AGKLUA_CheckNumber(L, 1);
	float x1 = AGKLUA_CheckFloat(L, 2);
	float y1 = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	int result = agk::GetSpriteInBox(iSprite, x1, y1, x2, y2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteInCircle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSprite = AGKLUA_CheckNumber(L, 1);
	float x1 = AGKLUA_CheckFloat(L, 2);
	float y1 = AGKLUA_CheckFloat(L, 3);
	float radius = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	int result = agk::GetSpriteInCircle(iSprite, x1, y1, radius);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteCollision(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSprite1 = AGKLUA_CheckNumber(L, 1);
	int iSprite2 = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetSpriteCollision(iSprite1, iSprite2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteDistance(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSprite1 = AGKLUA_CheckNumber(L, 1);
	int iSprite2 = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetSpriteDistance(iSprite1, iSprite2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteDistancePoint1X(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetSpriteDistancePoint1X();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteDistancePoint1Y(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetSpriteDistancePoint1Y();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteDistancePoint2X(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetSpriteDistancePoint2X();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteDistancePoint2Y(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetSpriteDistancePoint2Y();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetFirstContact(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetFirstContact();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNextContact(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetNextContact();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetContactWorldX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetContactWorldX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetContactWorldY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetContactWorldY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetContactSpriteID1(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetContactSpriteID1();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetContactSpriteID2(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetContactSpriteID2();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteFirstContact(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSprite1 = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteFirstContact(iSprite1);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteNextContact(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetSpriteNextContact();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteContactWorldX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetSpriteContactWorldX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteContactWorldY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetSpriteContactWorldY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteContactSpriteID2(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetSpriteContactSpriteID2();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPhysicsCollision(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSprite1 = AGKLUA_CheckNumber(L, 1);
	int iSprite2 = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetPhysicsCollision(iSprite1, iSprite2);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPhysicsCollisionX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetPhysicsCollisionX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPhysicsCollisionY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetPhysicsCollisionY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPhysicsCollisionWorldX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetPhysicsCollisionWorldX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPhysicsCollisionWorldY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetPhysicsCollisionWorldY();
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_CreateParticles(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 3);
int ID = AGKLUA_CheckNumber(L, 1);
float x = AGKLUA_CheckFloat(L, 2);
float y = AGKLUA_CheckFloat(L, 3);

// Call function and push result
agk::CreateParticles(ID,x,y);
return 0;
}
*/
int AGKLua_CreateParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	int result = agk::CreateParticles(x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetParticlesExists(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteParticles(ID);
	return 0;
}
int AGKLua_SetParticlesPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetParticlesPosition(ID, x, y);
	return 0;
}
int AGKLua_SetParticlesDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int depth = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetParticlesDepth(ID, depth);
	return 0;
}
int AGKLua_SetParticlesFrequency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float freq = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetParticlesFrequency(ID, freq);
	return 0;
}
int AGKLua_SetParticlesStartZone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int ID = AGKLUA_CheckNumber(L, 1);
	float x1 = AGKLUA_CheckFloat(L, 2);
	float y1 = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetParticlesStartZone(ID, x1, y1, x2, y2);
	return 0;
}
int AGKLua_SetParticlesDirection(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float vx = AGKLUA_CheckFloat(L, 2);
	float vy = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetParticlesDirection(ID, vx, vy);
	return 0;
}
int AGKLua_SetParticlesVelocityRange(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float v1 = AGKLUA_CheckFloat(L, 2);
	float v2 = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetParticlesVelocityRange(ID, v1, v2);
	return 0;
}
int AGKLua_SetParticlesAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float angle = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetParticlesAngle(ID, angle);
	return 0;
}
int AGKLua_SetParticlesAngleRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float angle = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetParticlesAngleRad(ID, angle);
	return 0;
}
int AGKLua_SetParticlesRotationRange(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float angle1 = AGKLUA_CheckFloat(L, 2);
	float angle2 = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetParticlesRotationRange(ID, angle1, angle2);
	return 0;
}
int AGKLua_SetParticlesRotationRangeRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float angle1 = AGKLUA_CheckFloat(L, 2);
	float angle2 = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetParticlesRotationRangeRad(ID, angle1, angle2);
	return 0;
}
int AGKLua_SetParticlesFaceDirection(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetParticlesFaceDirection(ID, mode);
	return 0;
}
int AGKLua_SetParticlesSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float size = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetParticlesSize(ID, size);
	return 0;
}
int AGKLua_SetParticlesLife(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetParticlesLife(ID, time);
	return 0;
}
int AGKLua_SetParticlesMax(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int max = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetParticlesMax(ID, max);
	return 0;
}
int AGKLua_ResetParticleCount(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ResetParticleCount(ID);
	return 0;
}
int AGKLua_SetParticlesImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetParticlesImage(ID, imageID);
	return 0;
}
int AGKLua_SetParticlesVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int visible = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetParticlesVisible(ID, visible);
	return 0;
}
int AGKLua_SetParticlesActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int active = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetParticlesActive(ID, active);
	return 0;
}
int AGKLua_SetParticlesTransparency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int active = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetParticlesTransparency(ID, active);
	return 0;
}
int AGKLua_SetParticlesColorInterpolation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetParticlesColorInterpolation(ID, mode);
	return 0;
}
int AGKLua_GetParticlesX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetParticlesX(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetParticlesY(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetParticlesDepth(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetParticlesVisible(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetParticlesActive(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesFrequency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetParticlesFrequency(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesDirectionX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetParticlesDirectionX(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesDirectionY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetParticlesDirectionY(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetParticlesAngle(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesAngleRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetParticlesAngleRad(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetParticlesSize(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesLife(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetParticlesLife(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticlesMaxReached(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetParticlesMaxReached(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_AddParticlesForce(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int ID = AGKLUA_CheckNumber(L, 1);
	float starttime = AGKLUA_CheckFloat(L, 2);
	float endtime = AGKLUA_CheckFloat(L, 3);
	float x = AGKLUA_CheckFloat(L, 4);
	float y = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::AddParticlesForce(ID, starttime, endtime, x, y);
	return 0;
}
int AGKLua_ClearParticlesForces(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ClearParticlesForces(ID);
	return 0;
}
int AGKLua_AddParticlesColorKeyFrame(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int ID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);
	int red = AGKLUA_CheckNumber(L, 3);
	int green = AGKLUA_CheckNumber(L, 4);
	int blue = AGKLUA_CheckNumber(L, 5);
	int alpha = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	agk::AddParticlesColorKeyFrame(ID, time, red, green, blue, alpha);
	return 0;
}
int AGKLua_ClearParticlesColors(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ClearParticlesColors(ID);
	return 0;
}
int AGKLua_AddParticlesScaleKeyFrame(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);
	float scale = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::AddParticlesScaleKeyFrame(ID, time, scale);
	return 0;
}
int AGKLua_ClearParticlesScales(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ClearParticlesScales(ID);
	return 0;
}
int AGKLua_FixParticlesToScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::FixParticlesToScreen(ID, mode);
	return 0;
}
int AGKLua_UpdateParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::UpdateParticles(ID, time);
	return 0;
}
int AGKLua_OffsetParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::OffsetParticles(ID, x, y);
	return 0;
}
int AGKLua_CreateText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * string = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::CreateText(string);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTextExists(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteText(iTextIndex);
	return 0;
}
int AGKLua_DeleteAllText(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::DeleteAllText();
	return 0;
}
int AGKLua_SetTextString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	const char * string = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SetTextString(iTextIndex, string);
	return 0;
}
int AGKLua_SetTextPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float fX = AGKLUA_CheckFloat(L, 2);
	float fY = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetTextPosition(iTextIndex, fX, fY);
	return 0;
}
int AGKLua_SetTextX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float fX = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTextX(iTextIndex, fX);
	return 0;
}
int AGKLua_SetTextY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float fY = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTextY(iTextIndex, fY);
	return 0;
}
int AGKLua_SetTextAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float fAngle = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTextAngle(iTextIndex, fAngle);
	return 0;
}
int AGKLua_SetTextAngleRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float fAngleRad = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTextAngleRad(iTextIndex, fAngleRad);
	return 0;
}
int AGKLua_SetTextAlignment(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iMode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextAlignment(iTextIndex, iMode);
	return 0;
}
int AGKLua_SetTextSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float fSize = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTextSize(iTextIndex, fSize);
	return 0;
}
int AGKLua_SetTextSpacing(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float fSpacing = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTextSpacing(iTextIndex, fSpacing);
	return 0;
}
int AGKLua_SetTextLineSpacing(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float fSpacing = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTextLineSpacing(iTextIndex, fSpacing);
	return 0;
}
int AGKLua_SetTextDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iDepth = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextDepth(iTextIndex, iDepth);
	return 0;
}
int AGKLua_SetTextVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int bVisible = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextVisible(iTextIndex, bVisible);
	return 0;
}
int AGKLua_SetTextColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iRed = AGKLUA_CheckNumber(L, 2);
	int iGreen = AGKLUA_CheckNumber(L, 3);
	int iBlue = AGKLUA_CheckNumber(L, 4);
	int iAlpha = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::SetTextColor(iTextIndex, iRed, iGreen, iBlue, iAlpha);
	return 0;
}
int AGKLua_SetTextColorRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iRed = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextColorRed(iTextIndex, iRed);
	return 0;
}
int AGKLua_SetTextColorGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iGreen = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextColorGreen(iTextIndex, iGreen);
	return 0;
}
int AGKLua_SetTextColorBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iBlue = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextColorBlue(iTextIndex, iBlue);
	return 0;
}
int AGKLua_SetTextColorAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iAlpha = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextColorAlpha(iTextIndex, iAlpha);
	return 0;
}
int AGKLua_GetTextColorRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTextColorRed(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextColorGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTextColorGreen(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextColorBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTextColorBlue(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextColorAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTextColorAlpha(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTextCharPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetTextCharPosition(iTextIndex, iCharIndex, x, y);
	return 0;
}
int AGKLua_SetTextCharX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetTextCharX(iTextIndex, iCharIndex, x);
	return 0;
}
int AGKLua_SetTextCharY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetTextCharY(iTextIndex, iCharIndex, y);
	return 0;
}
int AGKLua_SetTextCharAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	float angle = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetTextCharAngle(iTextIndex, iCharIndex, angle);
	return 0;
}
int AGKLua_SetTextCharAngleRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	float angle = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetTextCharAngleRad(iTextIndex, iCharIndex, angle);
	return 0;
}
int AGKLua_SetTextCharColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	int red = AGKLUA_CheckNumber(L, 3);
	int green = AGKLUA_CheckNumber(L, 4);
	int blue = AGKLUA_CheckNumber(L, 5);
	int alpha = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	agk::SetTextCharColor(iTextIndex, iCharIndex, red, green, blue, alpha);
	return 0;
}
int AGKLua_SetTextCharColorRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	int red = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetTextCharColorRed(iTextIndex, iCharIndex, red);
	return 0;
}
int AGKLua_SetTextCharColorGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	int green = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetTextCharColorGreen(iTextIndex, iCharIndex, green);
	return 0;
}
int AGKLua_SetTextCharColorBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetTextCharColorBlue(iTextIndex, iCharIndex, blue);
	return 0;
}
int AGKLua_SetTextCharColorAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	int alpha = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetTextCharColorAlpha(iTextIndex, iCharIndex, alpha);
	return 0;
}
int AGKLua_SetTextCharBold(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);
	int bold = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetTextCharBold(iTextIndex, iCharIndex, bold);
	return 0;
}
int AGKLua_GetTextCharX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetTextCharX(iTextIndex, iCharIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextCharY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetTextCharY(iTextIndex, iCharIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextCharAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetTextCharAngle(iTextIndex, iCharIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextCharAngleRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetTextCharAngleRad(iTextIndex, iCharIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextCharColorRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetTextCharColorRed(iTextIndex, iCharIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextCharColorGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetTextCharColorGreen(iTextIndex, iCharIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextCharColorBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetTextCharColorBlue(iTextIndex, iCharIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextCharColorAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iCharIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetTextCharColorAlpha(iTextIndex, iCharIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTextX(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTextY(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextLength(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTextLength(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextTotalWidth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTextTotalWidth(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextTotalHeight(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTextTotalHeight(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextHitTest(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	int result = agk::GetTextHitTest(iTextIndex, x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTextFontImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iImageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextFontImage(iTextIndex, iImageID);
	return 0;
}
int AGKLua_SetTextExtendedFontImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iImageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextExtendedFontImage(iTextIndex, iImageID);
	return 0;
}
int AGKLua_SetTextFont(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int iFontID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextFont(iTextIndex, iFontID);
	return 0;
}
int AGKLua_SetTextDefaultFontImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iImageID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetTextDefaultFontImage(iImageID);
	return 0;
}
int AGKLua_SetTextDefaultExtendedFontImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iImageID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetTextDefaultExtendedFontImage(iImageID);
	return 0;
}
int AGKLua_SetTextDefaultMinFilter(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetTextDefaultMinFilter(mode);
	return 0;
}
int AGKLua_SetTextDefaultMagFilter(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetTextDefaultMagFilter(mode);
	return 0;
}
int AGKLua_FixTextToScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::FixTextToScreen(iTextIndex, mode);
	return 0;
}
int AGKLua_SetTextMaxWidth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float width = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTextMaxWidth(iTextIndex, width);
	return 0;
}
int AGKLua_SetTextScissor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetTextScissor(iTextIndex, x, y, x2, y2);
	return 0;
}
int AGKLua_SetTextTransparency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextTransparency(iTextIndex, mode);
	return 0;
}
int AGKLua_SetTextBold(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);
	int bold = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetTextBold(iTextIndex, bold);
	return 0;
}
int AGKLua_GetTextVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTextVisible(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTextDepth(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTextSize(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextSpacing(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTextSpacing(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextLineSpacing(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTextLineSpacing(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetTextString(iTextIndex);
	lua_pushstring(L, result);
	return 1;
}
/*
int AGKLua_LoadFont(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 1);
const char * szFontFile = AGKLUA_CheckString(L, 1);

// Call function and push result
int result = agk::LoadFont(szFontFile);
lua_pushnumber(L, result);
return 1;
}
*/
int AGKLua_LoadFont(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iFontID = AGKLUA_CheckNumber(L, 1);
	const char * szFontFile = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::LoadFont(iFontID, szFontFile);
	return 0;
}
int AGKLua_GetFontExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFontID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetFontExists(iFontID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSystemFontExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFontFile = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::GetSystemFontExists(szFontFile);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteFont(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFontID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteFont(iFontID);
	return 0;
}
int AGKLua_Print(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szString = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::Print(szString);
	return 0;
}
int AGKLua_PrintC(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szString = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::PrintC(szString);
	return 0;
}
int AGKLua_SetPrintSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float fSize = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetPrintSize(fSize);
	return 0;
}
int AGKLua_SetPrintSpacing(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float fSpacing = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetPrintSpacing(fSpacing);
	return 0;
}
int AGKLua_SetPrintColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iRed = AGKLUA_CheckNumber(L, 1);
	int iGreen = AGKLUA_CheckNumber(L, 2);
	int iBlue = AGKLUA_CheckNumber(L, 3);
	int iAlpha = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetPrintColor(iRed, iGreen, iBlue, iAlpha);
	return 0;
}
int AGKLua_SetPrintFont(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int fontID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPrintFont(fontID);
	return 0;
}
/*
int AGKLua_CreateSkeleton2D(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 1);
int iSkeleton = AGKLUA_CheckNumber(L, 1);

// Call function and push result
agk::CreateSkeleton2D(iSkeleton);
return 0;
}
*/
int AGKLua_CreateSkeleton2D(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::CreateSkeleton2D();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSkeleton2DExists(iSkeleton);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteSkeleton2D(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteSkeleton2D(iSkeleton);
	return 0;
}
int AGKLua_LoadSkeleton2DFromSpineFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	const char * filename = AGKLUA_CheckString(L, 1);
	float scale = AGKLUA_CheckFloat(L, 2);
	int atlasImage = AGKLUA_CheckNumber(L, 3);
	int loadAnim = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::LoadSkeleton2DFromSpineFile(filename, scale, atlasImage, loadAnim);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadSkeleton2DFromSpriterFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * filename = AGKLUA_CheckString(L, 1);
	float scale = AGKLUA_CheckFloat(L, 2);
	int atlasImage = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::LoadSkeleton2DFromSpriterFile(filename, scale, atlasImage);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSkeleton2DPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSkeleton2DPosition(iSkeleton, x, y);
	return 0;
}
int AGKLua_SetSkeleton2DRotation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	float r = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSkeleton2DRotation(iSkeleton, r);
	return 0;
}
int AGKLua_SetSkeleton2DFlip(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int flipH = AGKLUA_CheckNumber(L, 2);
	int flipV = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSkeleton2DFlip(iSkeleton, flipH, flipV);
	return 0;
}
int AGKLua_SetSkeleton2DDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int depth = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSkeleton2DDepth(iSkeleton, depth);
	return 0;
}
int AGKLua_FixSkeleton2DToScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::FixSkeleton2DToScreen(iSkeleton, mode);
	return 0;
}
int AGKLua_SetSkeleton2DVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSkeleton2DVisible(iSkeleton, mode);
	return 0;
}
int AGKLua_GetSkeleton2DX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSkeleton2DX(iSkeleton);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSkeleton2DY(iSkeleton);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSkeleton2DAngle(iSkeleton);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DBone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	const char * name = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::GetSkeleton2DBone(iSkeleton, name);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DBoneParent(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetSkeleton2DBoneParent(iSkeleton, bone);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DBoneX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetSkeleton2DBoneX(iSkeleton, bone);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DBoneY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetSkeleton2DBoneY(iSkeleton, bone);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DBoneAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetSkeleton2DBoneAngle(iSkeleton, bone);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DBoneCurrX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetSkeleton2DBoneCurrX(iSkeleton, bone);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DBoneCurrY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetSkeleton2DBoneCurrY(iSkeleton, bone);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DBoneCurrAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetSkeleton2DBoneCurrAngle(iSkeleton, bone);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSkeleton2DBonePosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetSkeleton2DBonePosition(iSkeleton, bone, x, y);
	return 0;
}
int AGKLua_SetSkeleton2DBoneAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);
	float r = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSkeleton2DBoneAngle(iSkeleton, bone, r);
	return 0;
}
int AGKLua_SetSkeleton2DBoneScale(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);
	float sx = AGKLUA_CheckFloat(L, 3);
	float sy = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetSkeleton2DBoneScale(iSkeleton, bone, sx, sy);
	return 0;
}
int AGKLua_SetSkeleton2DBoneMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	int bone = AGKLUA_CheckNumber(L, 2);
	int mode = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSkeleton2DBoneMode(iSkeleton, bone, mode);
	return 0;
}
int AGKLua_PlaySkeleton2DAnimation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	const char * anim = AGKLUA_CheckString(L, 2);
	float starttime = AGKLUA_CheckFloat(L, 3);
	int loop = AGKLUA_CheckNumber(L, 4);
	float tweentime = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::PlaySkeleton2DAnimation(iSkeleton, anim, starttime, loop, tweentime);
	return 0;
}
int AGKLua_SetSkeleton2DAnimationFrame(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	const char * anim = AGKLUA_CheckString(L, 2);
	float time = AGKLUA_CheckFloat(L, 3);
	float tweentime = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetSkeleton2DAnimationFrame(iSkeleton, anim, time, tweentime);
	return 0;
}
int AGKLua_SetSkeleton2DAnimationSpeed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	float speed = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSkeleton2DAnimationSpeed(iSkeleton, speed);
	return 0;
}
int AGKLua_GetSkeleton2DCurrentTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSkeleton2DCurrentTime(iSkeleton);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_StopSkeleton2DAnimation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::StopSkeleton2DAnimation(iSkeleton);
	return 0;
}
int AGKLua_GetSkeleton2DIsAnimating(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSkeleton2DIsAnimating(iSkeleton);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DIsTweening(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSkeleton2DIsTweening(iSkeleton);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DAnimationTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);
	const char * anim = AGKLUA_CheckString(L, 2);

	// Call function and push result
	float result = agk::GetSkeleton2DAnimationTime(iSkeleton, anim);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TweenLinear(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::TweenLinear();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TweenSmooth1(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::TweenSmooth1();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TweenSmooth2(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::TweenSmooth2();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TweenEaseIn1(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::TweenEaseIn1();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TweenEaseIn2(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::TweenEaseIn2();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TweenEaseOut1(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::TweenEaseOut1();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TweenEaseOut2(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::TweenEaseOut2();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TweenBounce(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::TweenBounce();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TweenOvershoot(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::TweenOvershoot();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteTween(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteTween(tweenID);
	return 0;
}
int AGKLua_GetTweenExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenExists(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTweenDuration(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float duration = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTweenDuration(tweenID, duration);
	return 0;
}
int AGKLua_CreateTweenCustom(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float duration = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::CreateTweenCustom(duration);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCustomExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenCustomExists(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTweenCustomFloat1(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float begin = AGKLUA_CheckFloat(L, 2);
	float end = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCustomFloat1(tweenID, begin, end, interpolation);
	return 0;
}
int AGKLua_SetTweenCustomFloat2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float begin = AGKLUA_CheckFloat(L, 2);
	float end = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCustomFloat2(tweenID, begin, end, interpolation);
	return 0;
}
int AGKLua_SetTweenCustomFloat3(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float begin = AGKLUA_CheckFloat(L, 2);
	float end = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCustomFloat3(tweenID, begin, end, interpolation);
	return 0;
}
int AGKLua_SetTweenCustomFloat4(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float begin = AGKLUA_CheckFloat(L, 2);
	float end = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCustomFloat4(tweenID, begin, end, interpolation);
	return 0;
}
int AGKLua_SetTweenCustomInteger1(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int begin = AGKLUA_CheckNumber(L, 2);
	int end = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCustomInteger1(tweenID, begin, end, interpolation);
	return 0;
}
int AGKLua_SetTweenCustomInteger2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int begin = AGKLUA_CheckNumber(L, 2);
	int end = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCustomInteger2(tweenID, begin, end, interpolation);
	return 0;
}
int AGKLua_SetTweenCustomInteger3(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int begin = AGKLUA_CheckNumber(L, 2);
	int end = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCustomInteger3(tweenID, begin, end, interpolation);
	return 0;
}
int AGKLua_SetTweenCustomInteger4(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int begin = AGKLUA_CheckNumber(L, 2);
	int end = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCustomInteger4(tweenID, begin, end, interpolation);
	return 0;
}
int AGKLua_GetTweenCustomFloat1(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTweenCustomFloat1(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCustomFloat2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTweenCustomFloat2(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCustomFloat3(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTweenCustomFloat3(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCustomFloat4(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTweenCustomFloat4(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCustomInteger1(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenCustomInteger1(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCustomInteger2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenCustomInteger2(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCustomInteger3(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenCustomInteger3(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCustomInteger4(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenCustomInteger4(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_PlayTweenCustom(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float delay = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::PlayTweenCustom(tweenID, delay);
	return 0;
}
int AGKLua_StopTweenCustom(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::StopTweenCustom(tweenID);
	return 0;
}
int AGKLua_GetTweenCustomPlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenCustomPlaying(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateTweenSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float duration = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::CreateTweenSprite(duration);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenSpriteExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenSpriteExists(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTweenSpriteX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginX = AGKLUA_CheckFloat(L, 2);
	float endX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteX(tweenID, beginX, endX, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginY = AGKLUA_CheckFloat(L, 2);
	float endY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteY(tweenID, beginY, endY, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteXByOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginX = AGKLUA_CheckFloat(L, 2);
	float endX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteXByOffset(tweenID, beginX, endX, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteYByOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginY = AGKLUA_CheckFloat(L, 2);
	float endY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteYByOffset(tweenID, beginY, endY, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginA = AGKLUA_CheckFloat(L, 2);
	float endA = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteAngle(tweenID, beginA, endA, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteSizeX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginSX = AGKLUA_CheckFloat(L, 2);
	float endSX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteSizeX(tweenID, beginSX, endSX, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteSizeY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginSY = AGKLUA_CheckFloat(L, 2);
	float endSY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteSizeY(tweenID, beginSY, endSY, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginR = AGKLUA_CheckNumber(L, 2);
	int endR = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteRed(tweenID, beginR, endR, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginG = AGKLUA_CheckNumber(L, 2);
	int endG = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteGreen(tweenID, beginG, endG, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginB = AGKLUA_CheckNumber(L, 2);
	int endB = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteBlue(tweenID, beginB, endB, interpolation);
	return 0;
}
int AGKLua_SetTweenSpriteAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginA = AGKLUA_CheckNumber(L, 2);
	int endA = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenSpriteAlpha(tweenID, beginA, endA, interpolation);
	return 0;
}
int AGKLua_PlayTweenSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int spriteID = AGKLUA_CheckNumber(L, 2);
	float delay = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::PlayTweenSprite(tweenID, spriteID, delay);
	return 0;
}
int AGKLua_StopTweenSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int spriteID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::StopTweenSprite(tweenID, spriteID);
	return 0;
}
int AGKLua_GetTweenSpritePlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int spriteID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetTweenSpritePlaying(tweenID, spriteID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateTweenText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float duration = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::CreateTweenText(duration);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenTextExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenTextExists(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTweenTextX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginX = AGKLUA_CheckFloat(L, 2);
	float endX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextX(tweenID, beginX, endX, interpolation);
	return 0;
}
int AGKLua_SetTweenTextY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginY = AGKLUA_CheckFloat(L, 2);
	float endY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextY(tweenID, beginY, endY, interpolation);
	return 0;
}
int AGKLua_SetTweenTextAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginA = AGKLUA_CheckFloat(L, 2);
	float endA = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextAngle(tweenID, beginA, endA, interpolation);
	return 0;
}
int AGKLua_SetTweenTextSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginS = AGKLUA_CheckFloat(L, 2);
	float endS = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextSize(tweenID, beginS, endS, interpolation);
	return 0;
}
int AGKLua_SetTweenTextSpacing(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginSP = AGKLUA_CheckFloat(L, 2);
	float endSP = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextSpacing(tweenID, beginSP, endSP, interpolation);
	return 0;
}
int AGKLua_SetTweenTextLineSpacing(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginLSP = AGKLUA_CheckFloat(L, 2);
	float endLSP = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextLineSpacing(tweenID, beginLSP, endLSP, interpolation);
	return 0;
}
int AGKLua_SetTweenTextRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginR = AGKLUA_CheckNumber(L, 2);
	int endR = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextRed(tweenID, beginR, endR, interpolation);
	return 0;
}
int AGKLua_SetTweenTextGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginG = AGKLUA_CheckNumber(L, 2);
	int endG = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextGreen(tweenID, beginG, endG, interpolation);
	return 0;
}
int AGKLua_SetTweenTextBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginB = AGKLUA_CheckNumber(L, 2);
	int endB = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextBlue(tweenID, beginB, endB, interpolation);
	return 0;
}
int AGKLua_SetTweenTextAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginA = AGKLUA_CheckNumber(L, 2);
	int endA = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenTextAlpha(tweenID, beginA, endA, interpolation);
	return 0;
}
int AGKLua_PlayTweenText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);
	float delay = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::PlayTweenText(tweenID, textID, delay);
	return 0;
}
int AGKLua_StopTweenText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::StopTweenText(tweenID, textID);
	return 0;
}
int AGKLua_GetTweenTextPlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetTweenTextPlaying(tweenID, textID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateTweenChar(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float duration = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::CreateTweenChar(duration);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCharExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenCharExists(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTweenCharX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginX = AGKLUA_CheckFloat(L, 2);
	float endX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCharX(tweenID, beginX, endX, interpolation);
	return 0;
}
int AGKLua_SetTweenCharY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginY = AGKLUA_CheckFloat(L, 2);
	float endY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCharY(tweenID, beginY, endY, interpolation);
	return 0;
}
int AGKLua_SetTweenCharAngle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginA = AGKLUA_CheckFloat(L, 2);
	float endA = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCharAngle(tweenID, beginA, endA, interpolation);
	return 0;
}
int AGKLua_SetTweenCharRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginR = AGKLUA_CheckNumber(L, 2);
	int endR = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCharRed(tweenID, beginR, endR, interpolation);
	return 0;
}
int AGKLua_SetTweenCharGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginG = AGKLUA_CheckNumber(L, 2);
	int endG = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCharGreen(tweenID, beginG, endG, interpolation);
	return 0;
}
int AGKLua_SetTweenCharBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginB = AGKLUA_CheckNumber(L, 2);
	int endB = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCharBlue(tweenID, beginB, endB, interpolation);
	return 0;
}
int AGKLua_SetTweenCharAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginA = AGKLUA_CheckNumber(L, 2);
	int endA = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCharAlpha(tweenID, beginA, endA, interpolation);
	return 0;
}
int AGKLua_PlayTweenChar(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);
	int charID = AGKLUA_CheckNumber(L, 3);
	float delay = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::PlayTweenChar(tweenID, textID, charID, delay);
	return 0;
}
int AGKLua_StopTweenChar(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);
	int charID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::StopTweenChar(tweenID, textID, charID);
	return 0;
}
int AGKLua_GetTweenCharPlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);
	int charID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::GetTweenCharPlaying(tweenID, textID, charID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateTweenObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float duration = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::CreateTweenObject(duration);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenObjectExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenObjectExists(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTweenObjectX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginX = AGKLUA_CheckFloat(L, 2);
	float endX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectX(tweenID, beginX, endX, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginY = AGKLUA_CheckFloat(L, 2);
	float endY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectY(tweenID, beginY, endY, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginZ = AGKLUA_CheckFloat(L, 2);
	float endZ = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectZ(tweenID, beginZ, endZ, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectAngleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginAX = AGKLUA_CheckFloat(L, 2);
	float endAX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectAngleX(tweenID, beginAX, endAX, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectAngleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginAY = AGKLUA_CheckFloat(L, 2);
	float endAY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectAngleY(tweenID, beginAY, endAY, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectAngleZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginAZ = AGKLUA_CheckFloat(L, 2);
	float endAZ = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectAngleZ(tweenID, beginAZ, endAZ, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectScaleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginSX = AGKLUA_CheckFloat(L, 2);
	float endSX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectScaleX(tweenID, beginSX, endSX, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectScaleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginSY = AGKLUA_CheckFloat(L, 2);
	float endSY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectScaleY(tweenID, beginSY, endSY, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectScaleZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginSZ = AGKLUA_CheckFloat(L, 2);
	float endSZ = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectScaleZ(tweenID, beginSZ, endSZ, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginR = AGKLUA_CheckNumber(L, 2);
	int endR = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectRed(tweenID, beginR, endR, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginG = AGKLUA_CheckNumber(L, 2);
	int endG = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectGreen(tweenID, beginG, endG, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginB = AGKLUA_CheckNumber(L, 2);
	int endB = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectBlue(tweenID, beginB, endB, interpolation);
	return 0;
}
int AGKLua_SetTweenObjectAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int beginA = AGKLUA_CheckNumber(L, 2);
	int endA = AGKLUA_CheckNumber(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenObjectAlpha(tweenID, beginA, endA, interpolation);
	return 0;
}
int AGKLua_PlayTweenObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int objectID = AGKLUA_CheckNumber(L, 2);
	float delay = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::PlayTweenObject(tweenID, objectID, delay);
	return 0;
}
int AGKLua_StopTweenObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int objectID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::StopTweenObject(tweenID, objectID);
	return 0;
}
int AGKLua_GetTweenObjectPlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int objectID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetTweenObjectPlaying(tweenID, objectID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateTweenCamera(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float duration = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::CreateTweenCamera(duration);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTweenCameraExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenCameraExists(tweenID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTweenCameraX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginX = AGKLUA_CheckFloat(L, 2);
	float endX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCameraX(tweenID, beginX, endX, interpolation);
	return 0;
}
int AGKLua_SetTweenCameraY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginY = AGKLUA_CheckFloat(L, 2);
	float endY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCameraY(tweenID, beginY, endY, interpolation);
	return 0;
}
int AGKLua_SetTweenCameraZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginZ = AGKLUA_CheckFloat(L, 2);
	float endZ = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCameraZ(tweenID, beginZ, endZ, interpolation);
	return 0;
}
int AGKLua_SetTweenCameraAngleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginAX = AGKLUA_CheckFloat(L, 2);
	float endAX = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCameraAngleX(tweenID, beginAX, endAX, interpolation);
	return 0;
}
int AGKLua_SetTweenCameraAngleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginAY = AGKLUA_CheckFloat(L, 2);
	float endAY = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCameraAngleY(tweenID, beginAY, endAY, interpolation);
	return 0;
}
int AGKLua_SetTweenCameraAngleZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginAZ = AGKLUA_CheckFloat(L, 2);
	float endAZ = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCameraAngleZ(tweenID, beginAZ, endAZ, interpolation);
	return 0;
}
int AGKLua_SetTweenCameraFOV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float beginF = AGKLUA_CheckFloat(L, 2);
	float endF = AGKLUA_CheckFloat(L, 3);
	int interpolation = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetTweenCameraFOV(tweenID, beginF, endF, interpolation);
	return 0;
}
int AGKLua_PlayTweenCamera(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 2);
	float delay = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::PlayTweenCamera(tweenID, cameraID, delay);
	return 0;
}
int AGKLua_StopTweenCamera(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::StopTweenCamera(tweenID, cameraID);
	return 0;
}
int AGKLua_GetTweenCameraPlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetTweenCameraPlaying(tweenID, cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateTweenChain(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::CreateTweenChain();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteTweenChain(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int chainID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteTweenChain(chainID);
	return 0;
}
int AGKLua_ClearTweenChain(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int chainID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ClearTweenChain(chainID);
	return 0;
}
int AGKLua_AddTweenChainCustom(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int chainID = AGKLUA_CheckNumber(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 2);
	float delay = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::AddTweenChainCustom(chainID, tweenID, delay);
	return 0;
}
int AGKLua_AddTweenChainSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int chainID = AGKLUA_CheckNumber(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 2);
	int spriteID = AGKLUA_CheckNumber(L, 3);
	float delay = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::AddTweenChainSprite(chainID, tweenID, spriteID, delay);
	return 0;
}
int AGKLua_AddTweenChainText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int chainID = AGKLUA_CheckNumber(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 2);
	int textID = AGKLUA_CheckNumber(L, 3);
	float delay = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::AddTweenChainText(chainID, tweenID, textID, delay);
	return 0;
}
int AGKLua_AddTweenChainChar(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int chainID = AGKLUA_CheckNumber(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 2);
	int textID = AGKLUA_CheckNumber(L, 3);
	int charID = AGKLUA_CheckNumber(L, 4);
	float delay = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::AddTweenChainChar(chainID, tweenID, textID, charID, delay);
	return 0;
}
int AGKLua_AddTweenChainObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int chainID = AGKLUA_CheckNumber(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 2);
	int objectID = AGKLUA_CheckNumber(L, 3);
	float delay = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::AddTweenChainObject(chainID, tweenID, objectID, delay);
	return 0;
}
int AGKLua_AddTweenChainCamera(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int chainID = AGKLUA_CheckNumber(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 3);
	float delay = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::AddTweenChainCamera(chainID, tweenID, cameraID, delay);
	return 0;
}
int AGKLua_PlayTweenChain(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int chainID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::PlayTweenChain(chainID);
	return 0;
}
int AGKLua_PauseTweenChain(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int chainID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::PauseTweenChain(chainID);
	return 0;
}
int AGKLua_StopTweenChain(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int chainID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::StopTweenChain(chainID);
	return 0;
}
int AGKLua_GetTweenChainPlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int chainID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTweenChainPlaying(chainID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetTweenChainTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int chainID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetTweenChainTime(chainID, time);
	return 0;
}
int AGKLua_GetTweenChainEndTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int chainID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetTweenChainEndTime(chainID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_UpdateAllTweens(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float fTime = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::UpdateAllTweens(fTime);
	return 0;
}
int AGKLua_UpdateTweenCustom(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	float fTime = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::UpdateTweenCustom(tweenID, fTime);
	return 0;
}
int AGKLua_UpdateTweenSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int spriteID = AGKLUA_CheckNumber(L, 2);
	float fTime = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::UpdateTweenSprite(tweenID, spriteID, fTime);
	return 0;
}
int AGKLua_UpdateTweenText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);
	float fTime = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::UpdateTweenText(tweenID, textID, fTime);
	return 0;
}
int AGKLua_UpdateTweenChar(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);
	int charID = AGKLUA_CheckNumber(L, 3);
	float fTime = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::UpdateTweenChar(tweenID, textID, charID, fTime);
	return 0;
}
int AGKLua_UpdateTweenObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int objectID = AGKLUA_CheckNumber(L, 2);
	float fTime = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::UpdateTweenObject(tweenID, objectID, fTime);
	return 0;
}
int AGKLua_UpdateTweenCamera(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 2);
	float fTime = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::UpdateTweenCamera(tweenID, cameraID, fTime);
	return 0;
}
int AGKLua_UpdateTweenChain(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int chainID = AGKLUA_CheckNumber(L, 1);
	float fTime = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::UpdateTweenChain(chainID, fTime);
	return 0;
}
int AGKLua_GetRawTouchCount(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int bIncludeUnknown = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawTouchCount(bIncludeUnknown);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawFirstTouchEvent(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int bIncludeUnknown = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawFirstTouchEvent(bIncludeUnknown);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawNextTouchEvent(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawNextTouchEvent();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawTouchType(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawTouchType(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawTouchStartX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawTouchStartX(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawTouchStartY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawTouchStartY(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawTouchCurrentX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawTouchCurrentX(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawTouchCurrentY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawTouchCurrentY(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawTouchLastX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawTouchLastX(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawTouchLastY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawTouchLastY(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawTouchReleased(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawTouchReleased(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetRawTouchValue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iIndex = AGKLUA_CheckNumber(L, 1);
	int value = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetRawTouchValue(iIndex, value);
	return 0;
}
int AGKLua_GetRawTouchValue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawTouchValue(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawTouchTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawTouchTime(iIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadSound(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * sFilename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadSound(sFilename);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadSoundOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * sFilename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadSoundOGG(sFilename);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SaveSound(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iID = AGKLUA_CheckNumber(L, 1);
	const char * sFilename = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SaveSound(iID, sFilename);
	return 0;
}
int AGKLua_PlaySound(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iID = AGKLUA_CheckNumber(L, 1);
	int iVol = AGKLUA_CheckNumber(L, 2);
	int iLoop = AGKLUA_CheckNumber(L, 3);
	int iPriority = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::PlaySound(iID, iVol, iLoop, iPriority);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_StopSound(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::StopSound(iID);
	return 0;
}
int AGKLua_DeleteSound(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteSound(iID);
	return 0;
}
int AGKLua_GetSoundExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSoundExists(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSoundInstances(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSoundInstances(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSoundsPlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSoundsPlaying(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSoundSystemVolume(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iVol = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSoundSystemVolume(iVol);
	return 0;
}
int AGKLua_GetSoundMaxRate(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetSoundMaxRate();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSoundMinRate(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetSoundMinRate();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSoundInstancePlaying(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSoundInstancePlaying(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSoundInstanceVolume(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSoundInstanceVolume(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSoundInstanceRate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSoundInstanceRate(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSoundInstanceVolume(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iID = AGKLUA_CheckNumber(L, 1);
	int vol = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetSoundInstanceVolume(iID, vol);
	return 0;
}
int AGKLua_SetSoundInstanceRate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iID = AGKLUA_CheckNumber(L, 1);
	float rate = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSoundInstanceRate(iID, rate);
	return 0;
}
int AGKLua_SetSoundInstanceBalance(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iID = AGKLUA_CheckNumber(L, 1);
	float balance = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSoundInstanceBalance(iID, balance);
	return 0;
}
int AGKLua_GetSoundInstanceLoopCount(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSoundInstanceLoopCount(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_StopSoundInstance(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::StopSoundInstance(iID);
	return 0;
}
int AGKLua_LoadMusic(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * sFile = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadMusic(sFile);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetMusicFileVolume(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int vol = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetMusicFileVolume(ID, vol);
	return 0;
}
int AGKLua_PlayMusic(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iID = AGKLUA_CheckNumber(L, 1);
	int bLoop = AGKLUA_CheckNumber(L, 2);
	int iStartID = AGKLUA_CheckNumber(L, 3);
	int iEndID = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::PlayMusic(iID, bLoop, iStartID, iEndID);
	return 0;
}
int AGKLua_ResumeMusic(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ResumeMusic();
	return 0;
}
int AGKLua_StopMusic(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::StopMusic();
	return 0;
}
int AGKLua_DeleteMusic(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteMusic(iID);
	return 0;
}
int AGKLua_GetMusicPlaying(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetMusicPlaying();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetMusicSystemVolume(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iVol = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetMusicSystemVolume(iVol);
	return 0;
}
int AGKLua_GetMusicExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetMusicExists(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMusicDuration(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetMusicDuration(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMusicPosition(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetMusicPosition();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SeekMusic(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float seconds = AGKLUA_CheckFloat(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SeekMusic(seconds, mode);
	return 0;
}
int AGKLua_LoadMusicOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * sFile = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadMusicOGG(sFile);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMusicExistsOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int musicID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetMusicExistsOGG(musicID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetMusicVolumeOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int musicID = AGKLUA_CheckNumber(L, 1);
	int vol = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetMusicVolumeOGG(musicID, vol);
	return 0;
}
int AGKLua_PlayMusicOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int musicID = AGKLUA_CheckNumber(L, 1);
	int iLoop = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::PlayMusicOGG(musicID, iLoop);
	return 0;
}
int AGKLua_PauseMusicOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int musicID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::PauseMusicOGG(musicID);
	return 0;
}
int AGKLua_ResumeMusicOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int musicID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ResumeMusicOGG(musicID);
	return 0;
}
int AGKLua_StopMusicOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int musicID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::StopMusicOGG(musicID);
	return 0;
}
int AGKLua_DeleteMusicOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int musicID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteMusicOGG(musicID);
	return 0;
}
int AGKLua_GetMusicPlayingOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int musicID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetMusicPlayingOGG(musicID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMusicLoopCountOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int musicID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetMusicLoopCountOGG(musicID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMusicDurationOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int musicID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetMusicDurationOGG(musicID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMusicPositionOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int musicID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetMusicPositionOGG(musicID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SeekMusicOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int musicID = AGKLUA_CheckNumber(L, 1);
	float seconds = AGKLUA_CheckFloat(L, 2);
	int mode = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SeekMusicOGG(musicID, seconds, mode);
	return 0;
}
int AGKLua_SetMusicSystemVolumeOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int vol = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetMusicSystemVolumeOGG(vol);
	return 0;
}
int AGKLua_SetMusicLoopTimesOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int musicID = AGKLUA_CheckNumber(L, 1);
	float startTime = AGKLUA_CheckFloat(L, 2);
	float endTime = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetMusicLoopTimesOGG(musicID, startTime, endTime);
	return 0;
}
int AGKLua_SetMusicLoopCountOGG(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int musicID = AGKLUA_CheckNumber(L, 1);
	int loop = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetMusicLoopCountOGG(musicID, loop);
	return 0;
}
int AGKLua_RecordSound(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFilename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::RecordSound(szFilename);
	return 0;
}
int AGKLua_StopSoundRecording(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::StopSoundRecording();
	return 0;
}
int AGKLua_IsSoundRecording(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::IsSoundRecording();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFile = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::DeleteFile(szFile);
	return 0;
}
int AGKLua_GetFileExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFile = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::GetFileExists(szFile);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_ChooseRawFile(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 1);
const char * ext = AGKLUA_CheckString(L, 1);

// Call function and push result
char * result = agk::ChooseRawFile(ext);
lua_pushstring(L, result);
return 1;
}
*/
int AGKLua_ChooseRawFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * ext = AGKLUA_CheckString(L, 1);
	int returnFullPath = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::ChooseRawFile(ext, returnFullPath);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SimplifyPath(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szPath = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::SimplifyPath(szPath);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_JoinPaths(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szPath = AGKLUA_CheckString(L, 1);
	const char * szPath2 = AGKLUA_CheckString(L, 2);

	// Call function and push result
	char * result = agk::JoinPaths(szPath, szPath2);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_IsAbsolutePath(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szPath = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::IsAbsolutePath(szPath);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CountWindowsDrives(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::CountWindowsDrives();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetWindowsDrive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetWindowsDrive(index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_OpenRawFolder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szPath = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::OpenRawFolder(szPath);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CloseRawFolder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::CloseRawFolder(ID);
	return 0;
}
int AGKLua_GetRawFolderNumFiles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawFolderNumFiles(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawFolderNumFolders(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawFolderNumFolders(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawFolderFileName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int index = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetRawFolderFileName(ID, index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetRawFolderFolderName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int index = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetRawFolderFolderName(ID, index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_OpenToWrite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szFile = AGKLUA_CheckString(L, 1);
	int append = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::OpenToWrite(szFile, append);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_OpenToRead(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFile = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::OpenToRead(szFile);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_FileIsOpen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::FileIsOpen(iFileID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CloseFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::CloseFile(iFileID);
	return 0;
}
int AGKLua_FileEOF(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::FileEOF(iFileID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetFileSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetFileSize(iFileID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetFilePos(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetFilePos(iFileID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetFilePos(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iFileID = AGKLUA_CheckNumber(L, 1);
	int pos = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetFilePos(iFileID, pos);
	return 0;
}
int AGKLua_WriteByte(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iFileID = AGKLUA_CheckNumber(L, 1);
	int b = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::WriteByte(iFileID, b);
	return 0;
}
int AGKLua_WriteInteger(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iFileID = AGKLUA_CheckNumber(L, 1);
	int i = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::WriteInteger(iFileID, i);
	return 0;
}
int AGKLua_WriteFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iFileID = AGKLUA_CheckNumber(L, 1);
	float f = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::WriteFloat(iFileID, f);
	return 0;
}
int AGKLua_WriteString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iFileID = AGKLUA_CheckNumber(L, 1);
	const char * str = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::WriteString(iFileID, str);
	return 0;
}
int AGKLua_WriteString2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iFileID = AGKLUA_CheckNumber(L, 1);
	const char * str = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::WriteString2(iFileID, str);
	return 0;
}
int AGKLua_WriteLine(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iFileID = AGKLUA_CheckNumber(L, 1);
	const char * str = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::WriteLine(iFileID, str);
	return 0;
}
int AGKLua_ReadByte(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::ReadByte(iFileID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ReadInteger(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::ReadInteger(iFileID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ReadFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ReadFloat(iFileID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ReadString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::ReadString(iFileID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_ReadString2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::ReadString2(iFileID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_ReadLine(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFileID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::ReadLine(iFileID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Str(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float valueFloat = AGKLUA_CheckFloat(L, 1);
	int decimals = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::Str(valueFloat, decimals);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Bin(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int i = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::Bin(i);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Hex(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int i = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::Hex(i);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_StringToBase64(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * input = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::StringToBase64(input);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_HexToBase64(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * input = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::HexToBase64(input);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Val(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * str = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::Val(str);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ValFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * str = AGKLUA_CheckString(L, 1);

	// Call function and push result
	float result = agk::ValFloat(str);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Left(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * strin = AGKLUA_CheckString(L, 1);
	int count = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::Left(strin, count);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Right(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * strin = AGKLUA_CheckString(L, 1);
	int count = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::Right(strin, count);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Mid(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * strin = AGKLUA_CheckString(L, 1);
	int position = AGKLUA_CheckNumber(L, 2);
	int length = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	char * result = agk::Mid(strin, position, length);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Asc(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * strin = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::Asc(strin);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Len(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * strin = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::Len(strin);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ByteLen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * strin = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::ByteLen(strin);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Chr(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int asciivalue = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::Chr(asciivalue);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Lower(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * strin = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::Lower(strin);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Upper(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * strin = AGKLUA_CheckString(L, 1);

	// Call function and push result
	char * result = agk::Upper(strin);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_Spaces(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int length = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::Spaces(length);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_FindStringCount(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * findStr = AGKLUA_CheckString(L, 2);
	int ignoreCase = AGKLUA_CheckNumber(L, 3);
	int start = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::FindStringCount(str, findStr, ignoreCase, start);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_FindString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * findStr = AGKLUA_CheckString(L, 2);
	int ignoreCase = AGKLUA_CheckNumber(L, 3);
	int start = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::FindString(str, findStr, ignoreCase, start);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_FindStringReverse(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * findStr = AGKLUA_CheckString(L, 2);
	int ignoreCase = AGKLUA_CheckNumber(L, 3);
	int start = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::FindStringReverse(str, findStr, ignoreCase, start);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CompareString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * str2 = AGKLUA_CheckString(L, 2);
	int ignoreCase = AGKLUA_CheckNumber(L, 3);
	int maxChars = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::CompareString(str, str2, ignoreCase, maxChars);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ReplaceString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * find = AGKLUA_CheckString(L, 2);
	const char * replace = AGKLUA_CheckString(L, 3);
	int qty = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	char * result = agk::ReplaceString(str, find, replace, qty);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_StripString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * chars = AGKLUA_CheckString(L, 2);

	// Call function and push result
	char * result = agk::StripString(str, chars);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_TrimString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * chars = AGKLUA_CheckString(L, 2);

	// Call function and push result
	char * result = agk::TrimString(str, chars);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_TruncateString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * character = AGKLUA_CheckString(L, 2);

	// Call function and push result
	char * result = agk::TruncateString(str, character);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_CountStringTokens(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * delimiters = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::CountStringTokens(str, delimiters);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetStringToken(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * delimiters = AGKLUA_CheckString(L, 2);
	int token = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	char * result = agk::GetStringToken(str, delimiters, token);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_CountStringTokens2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * delimiter = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::CountStringTokens2(str, delimiter);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetStringToken2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * str = AGKLUA_CheckString(L, 1);
	const char * delimiter = AGKLUA_CheckString(L, 2);
	int token = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	char * result = agk::GetStringToken2(str, delimiter, token);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetCurrentDir(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetCurrentDir();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetFolder(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetFolder();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetFolder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * str = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::SetFolder(str);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetFirstFolder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetFirstFolder(mode);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetNextFolder(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetNextFolder();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetFolderCount(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetFolderCount(mode);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetFirstFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetFirstFile(mode);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetNextFile(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetNextFile();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetFileCount(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetFileCount(mode);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateBroadcastListener(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szIP = AGKLUA_CheckString(L, 1);
	int port = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::CreateBroadcastListener(szIP, port);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetBroadcastMessage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetBroadcastMessage(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteBroadcastListener(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteBroadcastListener(iID);
	return 0;
}
int AGKLua_ConnectSocket(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int socketID = AGKLUA_CheckNumber(L, 1);
	const char * szIP = AGKLUA_CheckString(L, 2);
	int port = AGKLUA_CheckNumber(L, 3);
	int timeout = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::ConnectSocket(socketID, szIP, port, timeout);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSocketConnected(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSocketConnected(socketID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSocketExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSocketExists(socketID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteSocket(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteSocket(socketID);
	return 0;
}
int AGKLua_GetSocketRemoteIP(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetSocketRemoteIP(socketID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_FlushSocket(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::FlushSocket(socketID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSocketBytesAvailable(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSocketBytesAvailable(socketID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSocketByte(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSocketByte(socketID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSocketInteger(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSocketInteger(socketID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSocketFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSocketFloat(socketID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSocketString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int socketID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetSocketString(socketID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SendSocketByte(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int socketID = AGKLUA_CheckNumber(L, 1);
	int value = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::SendSocketByte(socketID, value);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SendSocketInteger(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int socketID = AGKLUA_CheckNumber(L, 1);
	int value = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::SendSocketInteger(socketID, value);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SendSocketFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int socketID = AGKLUA_CheckNumber(L, 1);
	float value = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	int result = agk::SendSocketFloat(socketID, value);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SendSocketString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int socketID = AGKLUA_CheckNumber(L, 1);
	const char * value = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::SendSocketString(socketID, value);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateSocketListener(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int listenerID = AGKLUA_CheckNumber(L, 1);
	const char * szIP = AGKLUA_CheckString(L, 2);
	int port = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::CreateSocketListener(listenerID, szIP, port);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSocketListenerConnection(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int listenerID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSocketListenerConnection(listenerID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteSocketListener(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int listenerID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteSocketListener(listenerID);
	return 0;
}
int AGKLua_HostNetwork(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	const char * szNetworkName = AGKLUA_CheckString(L, 1);
	const char * szMyName = AGKLUA_CheckString(L, 2);
	int port = AGKLUA_CheckNumber(L, 3);
	int portv6 = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::HostNetwork(szNetworkName, szMyName, port, portv6);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetNetworkNoMoreClients(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetNetworkNoMoreClients(iNetID);
	return 0;
}
int AGKLua_JoinNetwork(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * szIP = AGKLUA_CheckString(L, 1);
	int port = AGKLUA_CheckNumber(L, 2);
	const char * szMyName = AGKLUA_CheckString(L, 3);

	// Call function and push result
	int result = agk::JoinNetwork(szIP, port, szMyName);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_IsNetworkActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::IsNetworkActive(iNetID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDeviceIP(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetDeviceIP();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetDeviceIPv6(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetDeviceIPv6();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_CloseNetwork(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::CloseNetwork(iNetID);
	return 0;
}
int AGKLua_SetNetworkLatency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int latency = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetNetworkLatency(iNetID, latency);
	return 0;
}
int AGKLua_GetNetworkMyClientID(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkMyClientID(iNetID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNetworkNumClients(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkNumClients(iNetID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNetworkFirstClient(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkFirstClient(iNetID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNetworkNextClient(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkNextClient(iNetID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNetworkClientDisconnected(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetNetworkClientDisconnected(iNetID, client);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteNetworkClient(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::DeleteNetworkClient(iNetID, client);
	return 0;
}
int AGKLua_GetNetworkClientName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetNetworkClientName(iNetID, client);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetNetworkClientPing(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetNetworkClientPing(iNetID, client);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNetworkServerID(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkServerID(iNetID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetNetworkLocalInteger(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	const char * name = AGKLUA_CheckString(L, 2);
	int i = AGKLUA_CheckNumber(L, 3);
	int mode = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetNetworkLocalInteger(iNetID, name, i, mode);
	return 0;
}
int AGKLua_SetNetworkLocalFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	const char * name = AGKLUA_CheckString(L, 2);
	float f = AGKLUA_CheckFloat(L, 3);
	int mode = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetNetworkLocalFloat(iNetID, name, f, mode);
	return 0;
}
int AGKLua_GetNetworkClientInteger(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);
	const char * name = AGKLUA_CheckString(L, 3);

	// Call function and push result
	int result = agk::GetNetworkClientInteger(iNetID, client, name);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNetworkClientFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);
	const char * name = AGKLUA_CheckString(L, 3);

	// Call function and push result
	float result = agk::GetNetworkClientFloat(iNetID, client, name);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateNetworkMessage(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::CreateNetworkMessage();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_AddNetworkMessageInteger(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iMsgID = AGKLUA_CheckNumber(L, 1);
	int value = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::AddNetworkMessageInteger(iMsgID, value);
	return 0;
}
int AGKLua_AddNetworkMessageFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iMsgID = AGKLUA_CheckNumber(L, 1);
	float value = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::AddNetworkMessageFloat(iMsgID, value);
	return 0;
}
int AGKLua_AddNetworkMessageString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iMsgID = AGKLUA_CheckNumber(L, 1);
	const char * value = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::AddNetworkMessageString(iMsgID, value);
	return 0;
}
int AGKLua_GetNetworkMessageFromIP(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iMsgID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetNetworkMessageFromIP(iMsgID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetNetworkMessageFromClient(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iMsgID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkMessageFromClient(iMsgID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNetworkMessageInteger(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iMsgID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkMessageInteger(iMsgID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNetworkMessageFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iMsgID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetNetworkMessageFloat(iMsgID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNetworkMessageString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iMsgID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetNetworkMessageString(iMsgID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_DeleteNetworkMessage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iMsgID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteNetworkMessage(iMsgID);
	return 0;
}
int AGKLua_SendNetworkMessage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int toClient = AGKLUA_CheckNumber(L, 2);
	int iMsgID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SendNetworkMessage(iNetID, toClient, iMsgID);
	return 0;
}
int AGKLua_GetNetworkMessage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkMessage(iNetID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetNetworkClientUserData(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);
	int index = AGKLUA_CheckNumber(L, 3);
	int value = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetNetworkClientUserData(iNetID, client, index, value);
	return 0;
}
int AGKLua_GetNetworkClientUserData(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);
	int index = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::GetNetworkClientUserData(iNetID, client, index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateHTTPConnection(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::CreateHTTPConnection();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteHTTPConnection(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iHTTP = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteHTTPConnection(iHTTP);
	return 0;
}
int AGKLua_SetHTTPHost(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int iHTTP = AGKLUA_CheckNumber(L, 1);
	const char * szHost = AGKLUA_CheckString(L, 2);
	int iSecure = AGKLUA_CheckNumber(L, 3);
	const char * szUser = AGKLUA_CheckString(L, 4);
	const char * szPass = AGKLUA_CheckString(L, 5);

	// Call function and push result
	int result = agk::SetHTTPHost(iHTTP, szHost, iSecure, szUser, szPass);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CloseHTTPConnection(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iHTTP = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::CloseHTTPConnection(iHTTP);
	return 0;
}
int AGKLua_SetHTTPTimeout(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iHTTP = AGKLUA_CheckNumber(L, 1);
	int milliseconds = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetHTTPTimeout(iHTTP, milliseconds);
	return 0;
}
int AGKLua_SetHTTPVerifyCertificate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iHTTP = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetHTTPVerifyCertificate(iHTTP, mode);
	return 0;
}
int AGKLua_SendHTTPRequest(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iHTTP = AGKLUA_CheckNumber(L, 1);
	const char * szServerFile = AGKLUA_CheckString(L, 2);
	const char * szPostData = AGKLUA_CheckString(L, 3);

	// Call function and push result
	char * result = agk::SendHTTPRequest(iHTTP, szServerFile, szPostData);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SendHTTPRequestASync(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iHTTP = AGKLUA_CheckNumber(L, 1);
	const char * szServerFile = AGKLUA_CheckString(L, 2);
	const char * szPostData = AGKLUA_CheckString(L, 3);

	// Call function and push result
	int result = agk::SendHTTPRequestASync(iHTTP, szServerFile, szPostData);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SendHTTPFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iHTTP = AGKLUA_CheckNumber(L, 1);
	const char * szServerFile = AGKLUA_CheckString(L, 2);
	const char * szPostData = AGKLUA_CheckString(L, 3);
	const char * szLocalFile = AGKLUA_CheckString(L, 4);

	// Call function and push result
	int result = agk::SendHTTPFile(iHTTP, szServerFile, szPostData, szLocalFile);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetHTTPResponse(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iHTTP = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetHTTPResponse(iHTTP);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetHTTPResponseReady(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iHTTP = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetHTTPResponseReady(iHTTP);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetHTTPFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iHTTP = AGKLUA_CheckNumber(L, 1);
	const char * szServerFile = AGKLUA_CheckString(L, 2);
	const char * szLocalFile = AGKLUA_CheckString(L, 3);
	const char * szPostData = AGKLUA_CheckString(L, 4);

	// Call function and push result
	int result = agk::GetHTTPFile(iHTTP, szServerFile, szLocalFile, szPostData);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetHTTPFileComplete(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iHTTP = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetHTTPFileComplete(iHTTP);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetHTTPFileProgress(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iHTTP = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetHTTPFileProgress(iHTTP);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetErrorMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetErrorMode(mode);
	return 0;
}
int AGKLua_GetLastError(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetLastError();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetErrorOccurred(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetErrorOccurred();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Message(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * msg = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::Message(msg);
	return 0;
}
int AGKLua_GetJoystickExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetJoystickExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawMouseX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawMouseY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseWheel(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawMouseWheel();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseWheelDelta(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawMouseWheelDelta();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseLeftPressed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseLeftPressed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseLeftState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseLeftState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseLeftReleased(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseLeftReleased();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseRightPressed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseRightPressed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseRightState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseRightState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseRightReleased(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseRightReleased();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseMiddlePressed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseMiddlePressed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseMiddleState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseMiddleState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseMiddleReleased(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseMiddleReleased();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetAccelerometerExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetAccelerometerExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetGyroSensorExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetGyroSensorExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetProximitySensorExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetProximitySensorExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetLightSensorExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetLightSensorExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMagneticSensorExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetMagneticSensorExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRotationVectorSensorExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRotationVectorSensorExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawAccelX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawAccelX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawAccelY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawAccelY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawAccelZ(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawAccelZ();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawGyroVelocityX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawGyroVelocityX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawGyroVelocityY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawGyroVelocityY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawGyroVelocityZ(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawGyroVelocityZ();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawProximityDistance(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawProximityDistance();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawLightLevel(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawLightLevel();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMagneticX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawMagneticX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMagneticY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawMagneticY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMagneticZ(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawMagneticZ();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawRotationVectorX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawRotationVectorX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawRotationVectorY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawRotationVectorY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawRotationVectorZ(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawRotationVectorZ();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawRotationVectorW(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawRotationVectorW();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawRotationVectorX2(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawRotationVectorX2();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawRotationVectorY2(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawRotationVectorY2();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawRotationVectorZ2(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawRotationVectorZ2();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawRotationVectorW2(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawRotationVectorW2();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CompleteRawJoystickDetection(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::CompleteRawJoystickDetection();
	return 0;
}
int AGKLua_GetRawJoystickExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawJoystickExists(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickConnected(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawJoystickConnected(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawJoystickX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawJoystickY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawJoystickZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickRX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawJoystickRX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickRY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawJoystickRY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickRZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetRawJoystickRZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickButtonPressed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int button = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetRawJoystickButtonPressed(index, button);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickButtonState(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int button = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetRawJoystickButtonState(index, button);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickButtonReleased(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int button = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetRawJoystickButtonReleased(index, button);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetRawJoystickDeadZone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float threshold = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetRawJoystickDeadZone(threshold);
	return 0;
}
int AGKLua_AddVirtualJoystick(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int index = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float size = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::AddVirtualJoystick(index, x, y, size);
	return 0;
}
int AGKLua_DeleteVirtualJoystick(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteVirtualJoystick(index);
	return 0;
}
int AGKLua_GetVirtualJoystickExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetVirtualJoystickExists(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVirtualJoystickX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetVirtualJoystickX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVirtualJoystickY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetVirtualJoystickY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetVirtualJoystickAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int index = AGKLUA_CheckNumber(L, 1);
	int alpha1 = AGKLUA_CheckNumber(L, 2);
	int alpha2 = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetVirtualJoystickAlpha(index, alpha1, alpha2);
	return 0;
}
int AGKLua_SetVirtualJoystickPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int index = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetVirtualJoystickPosition(index, x, y);
	return 0;
}
int AGKLua_SetVirtualJoystickSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	float size = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetVirtualJoystickSize(index, size);
	return 0;
}
int AGKLua_SetVirtualJoystickActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int active = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualJoystickActive(index, active);
	return 0;
}
int AGKLua_SetVirtualJoystickVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int visible = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualJoystickVisible(index, visible);
	return 0;
}
int AGKLua_SetVirtualJoystickImageInner(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualJoystickImageInner(index, imageID);
	return 0;
}
int AGKLua_SetVirtualJoystickImageOuter(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualJoystickImageOuter(index, imageID);
	return 0;
}
int AGKLua_SetVirtualJoystickDeadZone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float threshold = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetVirtualJoystickDeadZone(threshold);
	return 0;
}
int AGKLua_AddVirtualButton(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int index = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float size = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::AddVirtualButton(index, x, y, size);
	return 0;
}
int AGKLua_DeleteVirtualButton(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteVirtualButton(index);
	return 0;
}
int AGKLua_GetVirtualButtonExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetVirtualButtonExists(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVirtualButtonPressed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetVirtualButtonPressed(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVirtualButtonReleased(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetVirtualButtonReleased(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVirtualButtonState(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetVirtualButtonState(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetVirtualButtonColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int index = AGKLUA_CheckNumber(L, 1);
	int red = AGKLUA_CheckNumber(L, 2);
	int green = AGKLUA_CheckNumber(L, 3);
	int blue = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetVirtualButtonColor(index, red, green, blue);
	return 0;
}
int AGKLua_SetVirtualButtonAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int alpha = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualButtonAlpha(index, alpha);
	return 0;
}
int AGKLua_SetVirtualButtonPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int index = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetVirtualButtonPosition(index, x, y);
	return 0;
}
/*
int AGKLua_SetVirtualButtonSize(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
int index = AGKLUA_CheckNumber(L, 1);
float size = AGKLUA_CheckFloat(L, 2);

// Call function and push result
agk::SetVirtualButtonSize(index,size);
return 0;
}
*/
int AGKLua_SetVirtualButtonSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int index = AGKLUA_CheckNumber(L, 1);
	float sizeX = AGKLUA_CheckFloat(L, 2);
	float sizeY = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetVirtualButtonSize(index, sizeX, sizeY);
	return 0;
}
int AGKLua_SetVirtualButtonActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int active = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualButtonActive(index, active);
	return 0;
}
int AGKLua_SetVirtualButtonVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int visible = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualButtonVisible(index, visible);
	return 0;
}
int AGKLua_SetVirtualButtonImageUp(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualButtonImageUp(index, imageID);
	return 0;
}
int AGKLua_SetVirtualButtonImageDown(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetVirtualButtonImageDown(index, imageID);
	return 0;
}
int AGKLua_SetVirtualButtonText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	const char * str = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SetVirtualButtonText(index, str);
	return 0;
}
int AGKLua_GetRawKeyPressed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int key = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawKeyPressed(key);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawKeyState(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int key = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawKeyState(key);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawKeyReleased(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int key = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetRawKeyReleased(key);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawLastKey(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawLastKey();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDirectionX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetDirectionX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDirectionY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetDirectionY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDirectionAngle(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetDirectionAngle();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDirectionSpeed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetDirectionSpeed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPointerPressed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetPointerPressed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPointerReleased(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetPointerReleased();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPointerState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetPointerState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPointerX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetPointerX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPointerY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetPointerY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetJoystickX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetJoystickX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetJoystickY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetJoystickY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetJoystickDeadZone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float threshold = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetJoystickDeadZone(threshold);
	return 0;
}
int AGKLua_SetJoystickScreenPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float size = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetJoystickScreenPosition(x, y, size);
	return 0;
}
int AGKLua_GetButtonPressed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetButtonPressed(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetButtonState(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetButtonState(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetButtonReleased(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetButtonReleased(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetButtonScreenPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int index = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float size = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetButtonScreenPosition(index, x, y, size);
	return 0;
}
/*
int AGKLua_StartTextInput(lua_State *L)
{
// Get variables from lua

// Call function and push result
agk::StartTextInput();
return 0;
}
*/
int AGKLua_StartTextInput(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * initial = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::StartTextInput(initial);
	return 0;
}
int AGKLua_StopTextInput(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::StopTextInput();
	return 0;
}
int AGKLua_GetTextInputState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetTextInputState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextInputCompleted(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetTextInputCompleted();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextInputCancelled(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetTextInputCancelled();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextInput(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetTextInput();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetLastChar(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetLastChar();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetCursorBlinkTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float seconds = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetCursorBlinkTime(seconds);
	return 0;
}
int AGKLua_SetTextInputMaxChars(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int max = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetTextInputMaxChars(max);
	return 0;
}
int AGKLua_CreateEditBox(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::CreateEditBox();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetEditBoxExists(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteEditBox(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteEditBox(index);
	return 0;
}
int AGKLua_GetEditBoxHasFocus(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetEditBoxHasFocus(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCurrentEditBox(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetCurrentEditBox();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetEditBoxPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int index = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetEditBoxPosition(index, x, y);
	return 0;
}
int AGKLua_SetEditBoxSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int index = AGKLUA_CheckNumber(L, 1);
	float width = AGKLUA_CheckFloat(L, 2);
	float height = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetEditBoxSize(index, width, height);
	return 0;
}
int AGKLua_SetEditBoxDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int depth = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxDepth(index, depth);
	return 0;
}
int AGKLua_SetEditBoxBorderSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	float size = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetEditBoxBorderSize(index, size);
	return 0;
}
int AGKLua_SetEditBoxBorderColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int index = AGKLUA_CheckNumber(L, 1);
	int red = AGKLUA_CheckNumber(L, 2);
	int green = AGKLUA_CheckNumber(L, 3);
	int blue = AGKLUA_CheckNumber(L, 4);
	int alpha = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::SetEditBoxBorderColor(index, red, green, blue, alpha);
	return 0;
}
int AGKLua_SetEditBoxBackgroundColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int index = AGKLUA_CheckNumber(L, 1);
	int red = AGKLUA_CheckNumber(L, 2);
	int green = AGKLUA_CheckNumber(L, 3);
	int blue = AGKLUA_CheckNumber(L, 4);
	int alpha = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::SetEditBoxBackgroundColor(index, red, green, blue, alpha);
	return 0;
}
int AGKLua_SetEditBoxText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	const char * str = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SetEditBoxText(index, str);
	return 0;
}
int AGKLua_SetEditBoxTextColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int index = AGKLUA_CheckNumber(L, 1);
	int red = AGKLUA_CheckNumber(L, 2);
	int green = AGKLUA_CheckNumber(L, 3);
	int blue = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetEditBoxTextColor(index, red, green, blue);
	return 0;
}
int AGKLua_SetEditBoxCursorColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int index = AGKLUA_CheckNumber(L, 1);
	int red = AGKLUA_CheckNumber(L, 2);
	int green = AGKLUA_CheckNumber(L, 3);
	int blue = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetEditBoxCursorColor(index, red, green, blue);
	return 0;
}
int AGKLua_SetEditBoxFontImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int image = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxFontImage(index, image);
	return 0;
}
int AGKLua_SetEditBoxExtendedFontImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int image = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxExtendedFontImage(index, image);
	return 0;
}
int AGKLua_SetEditBoxFont(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int fontID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxFont(index, fontID);
	return 0;
}
int AGKLua_SetEditBoxTextSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	float size = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetEditBoxTextSize(index, size);
	return 0;
}
int AGKLua_SetEditBoxCursorPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int pos = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxCursorPosition(index, pos);
	return 0;
}
int AGKLua_SetEditBoxFocus(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int focus = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxFocus(index, focus);
	return 0;
}
int AGKLua_SetEditBoxActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int active = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxActive(index, active);
	return 0;
}
int AGKLua_SetEditBoxVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int visible = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxVisible(index, visible);
	return 0;
}
int AGKLua_SetEditBoxBorderImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int image = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxBorderImage(index, image);
	return 0;
}
int AGKLua_SetEditBoxBackgroundImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int image = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxBackgroundImage(index, image);
	return 0;
}
int AGKLua_SetEditBoxCursorBlinkTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetEditBoxCursorBlinkTime(index, time);
	return 0;
}
int AGKLua_SetEditBoxCursorWidth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	float width = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetEditBoxCursorWidth(index, width);
	return 0;
}
int AGKLua_SetEditBoxMaxChars(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int max = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxMaxChars(index, max);
	return 0;
}
int AGKLua_SetEditBoxMaxLines(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int max = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxMaxLines(index, max);
	return 0;
}
int AGKLua_SetEditBoxMultiLine(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int multiline = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxMultiLine(index, multiline);
	return 0;
}
int AGKLua_SetEditBoxScissor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int index = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float x2 = AGKLUA_CheckFloat(L, 4);
	float y2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetEditBoxScissor(index, x, y, x2, y2);
	return 0;
}
int AGKLua_SetEditBoxPasswordMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxPasswordMode(index, mode);
	return 0;
}
int AGKLua_SetEditBoxUseAlternateInput(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxUseAlternateInput(index, mode);
	return 0;
}
int AGKLua_SetEditBoxWrapMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxWrapMode(index, mode);
	return 0;
}
int AGKLua_FixEditBoxToScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int fix = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::FixEditBoxToScreen(index, fix);
	return 0;
}
int AGKLua_GetEditBoxText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetEditBoxText(index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetEditBoxX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetEditBoxX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetEditBoxY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxWidth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetEditBoxWidth(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxHeight(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetEditBoxHeight(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxChanged(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetEditBoxChanged(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetEditBoxActive(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetEditBoxVisible(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxLines(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetEditBoxLines(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxCursorPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetEditBoxCursorPosition(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetManagedSpriteDrawnCount(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetManagedSpriteDrawnCount();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetManagedSpriteCount(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetManagedSpriteCount();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetManagedSpriteSortedCount(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetManagedSpriteSortedCount();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPixelsDrawn(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetPixelsDrawn();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetManagedSpriteDrawCalls(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetManagedSpriteDrawCalls();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticleDrawnPointCount(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetParticleDrawnPointCount();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetParticleDrawnQuadCount(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetParticleDrawnQuadCount();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetUpdateTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetUpdateTime();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPhysicsTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetPhysicsTime();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDrawingSetupTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetDrawingSetupTime();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDrawingTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetDrawingTime();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetLoadedImages(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetLoadedImages();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetUnassignedImages(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetUnassignedImages();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetUnassignedImageFileName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetUnassignedImageFileName(index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetImageMemoryUsage(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetImageMemoryUsage();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetLeapYear(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int year = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetLeapYear(year);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetUnixFromDate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int year = AGKLUA_CheckNumber(L, 1);
	int month = AGKLUA_CheckNumber(L, 2);
	int days = AGKLUA_CheckNumber(L, 3);
	int hours = AGKLUA_CheckNumber(L, 4);
	int minutes = AGKLUA_CheckNumber(L, 5);
	int seconds = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	int result = agk::GetUnixFromDate(year, month, days, hours, minutes, seconds);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetYearFromUnix(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int unixtime = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetYearFromUnix(unixtime);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMonthFromUnix(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int unixtime = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetMonthFromUnix(unixtime);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDaysFromUnix(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int unixtime = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetDaysFromUnix(unixtime);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetHoursFromUnix(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int unixtime = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetHoursFromUnix(unixtime);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMinutesFromUnix(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int unixtime = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetMinutesFromUnix(unixtime);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSecondsFromUnix(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int unixtime = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSecondsFromUnix(unixtime);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetInneractiveDetails(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szCode = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetInneractiveDetails(szCode);
	return 0;
}
int AGKLua_SetAdMobDetails(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szID = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetAdMobDetails(szID);
	return 0;
}
int AGKLua_SetAdMobRewardAdDetails(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szID = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetAdMobRewardAdDetails(szID);
	return 0;
}
int AGKLua_SetChartboostDetails(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szKey1 = AGKLUA_CheckString(L, 1);
	const char * szKey2 = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SetChartboostDetails(szKey1, szKey2);
	return 0;
}
int AGKLua_SetAmazonAdDetails(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szKey = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetAmazonAdDetails(szKey);
	return 0;
}
int AGKLua_SetAmazonAdTesting(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetAmazonAdTesting(mode);
	return 0;
}
int AGKLua_SetAdMobTesting(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetAdMobTesting(mode);
	return 0;
}
int AGKLua_ShowFullscreenAdvertAdMob(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ShowFullscreenAdvertAdMob();
	return 0;
}
int AGKLua_ShowFullscreenAdvertChartboost(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ShowFullscreenAdvertChartboost();
	return 0;
}
int AGKLua_ShowFullscreenAdvertAmazon(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ShowFullscreenAdvertAmazon();
	return 0;
}
int AGKLua_GetFullscreenAdvertLoadedAdMob(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetFullscreenAdvertLoadedAdMob();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetFullscreenAdvertLoadedChartboost(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetFullscreenAdvertLoadedChartboost();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetFullscreenAdvertLoadedAmazon(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetFullscreenAdvertLoadedAmazon();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ShowRewardAdAdMob(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ShowRewardAdAdMob();
	return 0;
}
int AGKLua_GetRewardAdLoadedAdMob(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRewardAdLoadedAdMob();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRewardAdRewardedAdMob(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRewardAdRewardedAdMob();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ResetRewardAdMob(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ResetRewardAdMob();
	return 0;
}
int AGKLua_ShowRewardAdChartboost(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ShowRewardAdChartboost();
	return 0;
}
int AGKLua_CacheRewardAdChartboost(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::CacheRewardAdChartboost();
	return 0;
}
int AGKLua_GetRewardAdLoadedChartboost(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRewardAdLoadedChartboost();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRewardAdRewardedChartboost(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRewardAdRewardedChartboost();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ResetRewardChartboost(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ResetRewardChartboost();
	return 0;
}
int AGKLua_CreateFullscreenAdvert(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::CreateFullscreenAdvert();
	return 0;
}
int AGKLua_CreateAdvert(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int type = AGKLUA_CheckNumber(L, 1);
	int horz = AGKLUA_CheckNumber(L, 2);
	int vert = AGKLUA_CheckNumber(L, 3);
	int test = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::CreateAdvert(type, horz, vert, test);
	return 0;
}
int AGKLua_CreateAdvertEx(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int type = AGKLUA_CheckNumber(L, 1);
	int horz = AGKLUA_CheckNumber(L, 2);
	int vert = AGKLUA_CheckNumber(L, 3);
	int test = AGKLUA_CheckNumber(L, 4);
	float offsetx = AGKLUA_CheckFloat(L, 5);
	float offsety = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::CreateAdvertEx(type, horz, vert, test, offsetx, offsety);
	return 0;
}
int AGKLua_SetAdvertPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float width = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetAdvertPosition(x, y, width);
	return 0;
}
int AGKLua_SetAdvertLocation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int horz = AGKLUA_CheckNumber(L, 1);
	int vert = AGKLUA_CheckNumber(L, 2);
	float width = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetAdvertLocation(horz, vert, width);
	return 0;
}
int AGKLua_SetAdvertLocationEx(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int horz = AGKLUA_CheckNumber(L, 1);
	int vert = AGKLUA_CheckNumber(L, 2);
	float offsetx = AGKLUA_CheckFloat(L, 3);
	float offsety = AGKLUA_CheckFloat(L, 4);
	float width = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetAdvertLocationEx(horz, vert, offsetx, offsety, width);
	return 0;
}
int AGKLua_SetAdvertVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iVisible = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetAdvertVisible(iVisible);
	return 0;
}
int AGKLua_RequestAdvertRefresh(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::RequestAdvertRefresh();
	return 0;
}
int AGKLua_DeleteAdvert(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::DeleteAdvert();
	return 0;
}
int AGKLua_CreateZip(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * filename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::CreateZip(filename);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_AddZipEntry(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int zipID = AGKLUA_CheckNumber(L, 1);
	const char * path = AGKLUA_CheckString(L, 2);
	const char * zipPath = AGKLUA_CheckString(L, 3);

	// Call function and push result
	agk::AddZipEntry(zipID, path, zipPath);
	return 0;
}
int AGKLua_CloseZip(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int zipID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::CloseZip(zipID);
	return 0;
}
/*
int AGKLua_ExtractZip(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
const char * zipfilename = AGKLUA_CheckString(L, 1);
const char * path = AGKLUA_CheckString(L, 2);

// Call function and push result
agk::ExtractZip(zipfilename,path);
return 0;
}
*/
int AGKLua_ExtractZip(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * zipfilename = AGKLUA_CheckString(L, 1);
	const char * path = AGKLUA_CheckString(L, 2);
	const char * password = AGKLUA_CheckString(L, 3);

	// Call function and push result
	agk::ExtractZip(zipfilename, path, password);
	return 0;
}
/*
int AGKLua_Log(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 1);
const char * szMessage = AGKLUA_CheckString(L, 1);

// Call function and push result
agk::Log(szMessage);
return 0;
}
*/
int AGKLua_Log(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::Log(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_RateApp(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * szID = AGKLUA_CheckString(L, 1);
	const char * szTitle = AGKLUA_CheckString(L, 2);
	const char * szMessage = AGKLUA_CheckString(L, 3);

	// Call function and push result
	agk::RateApp(szID, szTitle, szMessage);
	return 0;
}
int AGKLua_RequestAppReview(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::RequestAppReview();
	return 0;
}
int AGKLua_InAppPurchaseSetKeys(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szData1 = AGKLUA_CheckString(L, 1);
	const char * szData2 = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::InAppPurchaseSetKeys(szData1, szData2);
	return 0;
}
int AGKLua_InAppPurchaseSetTitle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szTitle = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::InAppPurchaseSetTitle(szTitle);
	return 0;
}
int AGKLua_InAppPurchaseAddProductID(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szID = AGKLUA_CheckString(L, 1);
	int type = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::InAppPurchaseAddProductID(szID, type);
	return 0;
}
int AGKLua_InAppPurchaseSetup(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::InAppPurchaseSetup();
	return 0;
}
int AGKLua_GetInAppPurchaseAvailable(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetInAppPurchaseAvailable(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_InAppPurchaseActivate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::InAppPurchaseActivate(iID);
	return 0;
}
int AGKLua_GetInAppPurchaseLocalPrice(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetInAppPurchaseLocalPrice(iID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetInAppPurchaseDescription(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetInAppPurchaseDescription(iID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetInAppPurchaseState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetInAppPurchaseState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_InAppPurchaseRestore(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::InAppPurchaseRestore();
	return 0;
}
int AGKLua_GetInAppPurchaseSignature(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetInAppPurchaseSignature(iID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_TwitterSetup(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szKey = AGKLUA_CheckString(L, 1);
	const char * szSecret = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::TwitterSetup(szKey, szSecret);
	return 0;
}
int AGKLua_TwitterMessage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szMessage = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::TwitterMessage(szMessage);
	return 0;
}
int AGKLua_FacebookSetup(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szID = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::FacebookSetup(szID);
	return 0;
}
int AGKLua_GetFacebookLoggedIn(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetFacebookLoggedIn();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_FacebookGetUserID(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::FacebookGetUserID();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_FacebookGetUserName(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::FacebookGetUserName();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_FacebookGetAccessToken(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::FacebookGetAccessToken();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_FacebookLogin(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::FacebookLogin();
	return 0;
}
int AGKLua_FacebookLogout(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::FacebookLogout();
	return 0;
}
int AGKLua_FacebookPostOnMyWall(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	const char * szLink = AGKLUA_CheckString(L, 1);
	const char * szPicture = AGKLUA_CheckString(L, 2);
	const char * szName = AGKLUA_CheckString(L, 3);
	const char * szCaption = AGKLUA_CheckString(L, 4);
	const char * szDescription = AGKLUA_CheckString(L, 5);

	// Call function and push result
	agk::FacebookPostOnMyWall(szLink, szPicture, szName, szCaption, szDescription);
	return 0;
}
int AGKLua_FacebookPostOnFriendsWall(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	const char * szID = AGKLUA_CheckString(L, 1);
	const char * szLink = AGKLUA_CheckString(L, 2);
	const char * szPicture = AGKLUA_CheckString(L, 3);
	const char * szName = AGKLUA_CheckString(L, 4);
	const char * szCaption = AGKLUA_CheckString(L, 5);
	const char * szDescription = AGKLUA_CheckString(L, 6);

	// Call function and push result
	agk::FacebookPostOnFriendsWall(szID, szLink, szPicture, szName, szCaption, szDescription);
	return 0;
}
int AGKLua_FacebookInviteFriend(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szID = AGKLUA_CheckString(L, 1);
	const char * szMessage = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::FacebookInviteFriend(szID, szMessage);
	return 0;
}
int AGKLua_FacebookShowLikeButton(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	const char * szURL = AGKLUA_CheckString(L, 1);
	int iX = AGKLUA_CheckNumber(L, 2);
	int iY = AGKLUA_CheckNumber(L, 3);
	int iWidth = AGKLUA_CheckNumber(L, 4);
	int iHeight = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::FacebookShowLikeButton(szURL, iX, iY, iWidth, iHeight);
	return 0;
}
int AGKLua_FacebookDestroyLikeButton(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::FacebookDestroyLikeButton();
	return 0;
}
int AGKLua_FacebookGetFriends(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::FacebookGetFriends();
	return 0;
}
int AGKLua_FacebookGetFriendsState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::FacebookGetFriendsState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_FacebookGetFriendsCount(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::FacebookGetFriendsCount();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_FacebookGetFriendsName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::FacebookGetFriendsName(iIndex);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_FacebookGetFriendsID(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::FacebookGetFriendsID(iIndex);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_FacebookDownloadFriendsPhoto(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::FacebookDownloadFriendsPhoto(iIndex);
	return 0;
}
int AGKLua_GetFacebookDownloadState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetFacebookDownloadState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetFacebookDownloadFile(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetFacebookDownloadFile();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_NotificationCreate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * szDateTime = AGKLUA_CheckString(L, 1);
	const char * szMessage = AGKLUA_CheckString(L, 2);
	const char * szData = AGKLUA_CheckString(L, 3);

	// Call function and push result
	agk::NotificationCreate(szDateTime, szMessage, szData);
	return 0;
}
int AGKLua_GetNotification(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetNotification();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNotificationData(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetNotificationData();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_NotificationReset(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::NotificationReset();
	return 0;
}
/*
int AGKLua_SetLocalNotification(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 3);
int iID = AGKLUA_CheckNumber(L, 1);
int datetime = AGKLUA_CheckNumber(L, 2);
const char * szMessage = AGKLUA_CheckString(L, 3);

// Call function and push result
agk::SetLocalNotification(iID,datetime,szMessage);
return 0;
}
*/
int AGKLua_SetLocalNotification(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int iID = AGKLUA_CheckNumber(L, 1);
	int datetime = AGKLUA_CheckNumber(L, 2);
	const char * szMessage = AGKLUA_CheckString(L, 3);
	const char * szDeepLink = AGKLUA_CheckString(L, 4);

	// Call function and push result
	agk::SetLocalNotification(iID, datetime, szMessage, szDeepLink);
	return 0;
}
int AGKLua_CancelLocalNotification(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::CancelLocalNotification(iID);
	return 0;
}
int AGKLua_GetLocalNotificationExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetLocalNotificationExists(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetLocalNotificationTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetLocalNotificationTime(iID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetLocalNotificationMessage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetLocalNotificationMessage(iID);
	lua_pushstring(L, result);
	return 1;
}
/*
int AGKLua_MakeColor(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 3);
int red = AGKLUA_CheckNumber(L, 1);
int green = AGKLUA_CheckNumber(L, 2);
int blue = AGKLUA_CheckNumber(L, 3);

// Call function and push result
int result = agk::MakeColor(red,green,blue);
lua_pushnumber(L, result);
return 1;
}
*/
int AGKLua_MakeColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);
	int alpha = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::MakeColor(red, green, blue, alpha);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetColorRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int color = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetColorRed(color);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetColorGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int color = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetColorGreen(color);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetColorBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int color = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetColorBlue(color);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_DrawLine(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 7);
float x = AGKLUA_CheckFloat(L, 1);
float y = AGKLUA_CheckFloat(L, 2);
float x2 = AGKLUA_CheckFloat(L, 3);
float y2 = AGKLUA_CheckFloat(L, 4);
int red = AGKLUA_CheckNumber(L, 5);
int green = AGKLUA_CheckNumber(L, 6);
int blue = AGKLUA_CheckNumber(L, 7);

// Call function and push result
agk::DrawLine(x,y,x2,y2,red,green,blue);
return 0;
}
*/
int AGKLua_DrawLine(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float x2 = AGKLUA_CheckFloat(L, 3);
	float y2 = AGKLUA_CheckFloat(L, 4);
	int color1 = AGKLUA_CheckNumber(L, 5);
	int color2 = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	agk::DrawLine(x, y, x2, y2, color1, color2);
	return 0;
}
int AGKLua_DrawBox(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 9);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float x2 = AGKLUA_CheckFloat(L, 3);
	float y2 = AGKLUA_CheckFloat(L, 4);
	int color1 = AGKLUA_CheckNumber(L, 5);
	int color2 = AGKLUA_CheckNumber(L, 6);
	int color3 = AGKLUA_CheckNumber(L, 7);
	int color4 = AGKLUA_CheckNumber(L, 8);
	int filled = AGKLUA_CheckNumber(L, 9);

	// Call function and push result
	agk::DrawBox(x, y, x2, y2, color1, color2, color3, color4, filled);
	return 0;
}
int AGKLua_DrawEllipse(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float radiusx = AGKLUA_CheckFloat(L, 3);
	float radiusy = AGKLUA_CheckFloat(L, 4);
	int color1 = AGKLUA_CheckNumber(L, 5);
	int color2 = AGKLUA_CheckNumber(L, 6);
	int filled = AGKLUA_CheckNumber(L, 7);

	// Call function and push result
	agk::DrawEllipse(x, y, radiusx, radiusy, color1, color2, filled);
	return 0;
}
int AGKLua_CreateMemblock(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int size = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CreateMemblock(size);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMemblockExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int memID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetMemblockExists(memID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteMemblock(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int memID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteMemblock(memID);
	return 0;
}
int AGKLua_CopyMemblock(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int memSrcID = AGKLUA_CheckNumber(L, 1);
	int memDstID = AGKLUA_CheckNumber(L, 2);
	int srcOffset = AGKLUA_CheckNumber(L, 3);
	int dstOffset = AGKLUA_CheckNumber(L, 4);
	int size = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::CopyMemblock(memSrcID, memDstID, srcOffset, dstOffset, size);
	return 0;
}
int AGKLua_GetMemblockSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int memID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetMemblockSize(memID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMemblockByte(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetMemblockByte(memID, offset);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMemblockByteSigned(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetMemblockByteSigned(memID, offset);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMemblockShort(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetMemblockShort(memID, offset);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMemblockInt(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetMemblockInt(memID, offset);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMemblockFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetMemblockFloat(memID, offset);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMemblockString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);
	int length = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	char * result = agk::GetMemblockString(memID, offset, length);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetMemblockByte(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);
	int value = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetMemblockByte(memID, offset, value);
	return 0;
}
int AGKLua_SetMemblockByteSigned(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);
	int value = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetMemblockByteSigned(memID, offset, value);
	return 0;
}
int AGKLua_SetMemblockShort(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);
	int value = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetMemblockShort(memID, offset, value);
	return 0;
}
int AGKLua_SetMemblockInt(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);
	int value = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetMemblockInt(memID, offset, value);
	return 0;
}
int AGKLua_SetMemblockFloat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);
	float value = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetMemblockFloat(memID, offset, value);
	return 0;
}
int AGKLua_SetMemblockString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int memID = AGKLUA_CheckNumber(L, 1);
	int offset = AGKLUA_CheckNumber(L, 2);
	const char * value = AGKLUA_CheckString(L, 3);

	// Call function and push result
	agk::SetMemblockString(memID, offset, value);
	return 0;
}
int AGKLua_CreateMemblockFromImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CreateMemblockFromImage(imageID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateImageFromMemblock(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int memID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CreateImageFromMemblock(memID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateMemblockFromSound(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int soundID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CreateMemblockFromSound(soundID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateSoundFromMemblock(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int memID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CreateSoundFromMemblock(memID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateMemblockFromFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * filename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::CreateMemblockFromFile(filename);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateFileFromMemblock(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * filename = AGKLUA_CheckString(L, 1);
	int memID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::CreateFileFromMemblock(filename, memID);
	return 0;
}
int AGKLua_CreateMemblockFromObjectMesh(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::CreateMemblockFromObjectMesh(objID, meshIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateObjectFromMeshMemblock(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int memID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CreateObjectFromMeshMemblock(memID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectMeshFromMemblock(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int memID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectMeshFromMemblock(objID, meshIndex, memID);
	return 0;
}
int AGKLua_AddObjectMeshFromMemblock(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int memID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::AddObjectMeshFromMemblock(objID, memID);
	return 0;
}
int AGKLua_SetMeshMemblockVertexPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float z = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetMeshMemblockVertexPosition(memID, vertexIndex, x, y, z);
	return 0;
}
int AGKLua_SetMeshMemblockVertexNormal(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float z = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetMeshMemblockVertexNormal(memID, vertexIndex, x, y, z);
	return 0;
}
int AGKLua_SetMeshMemblockVertexUV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);
	float u = AGKLUA_CheckFloat(L, 3);
	float v = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetMeshMemblockVertexUV(memID, vertexIndex, u, v);
	return 0;
}
int AGKLua_GetMeshMemblockVertexX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetMeshMemblockVertexX(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetMeshMemblockVertexY(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetMeshMemblockVertexZ(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexNormalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetMeshMemblockVertexNormalX(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexNormalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetMeshMemblockVertexNormalY(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexNormalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetMeshMemblockVertexNormalZ(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexU(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetMeshMemblockVertexU(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetMeshMemblockVertexV(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetGlobal3DDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int depth = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetGlobal3DDepth(depth);
	return 0;
}
int AGKLua_CreateObjectBox(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float width = AGKLUA_CheckFloat(L, 1);
	float height = AGKLUA_CheckFloat(L, 2);
	float length = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	int result = agk::CreateObjectBox(width, height, length);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateObjectCapsule(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float diameter = AGKLUA_CheckFloat(L, 1);
	float height = AGKLUA_CheckFloat(L, 2);
	int axis = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::CreateObjectCapsule(diameter, height, axis);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateObjectSphere(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float diameter = AGKLUA_CheckFloat(L, 1);
	int rows = AGKLUA_CheckNumber(L, 2);
	int columns = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::CreateObjectSphere(diameter, rows, columns);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateObjectCone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float height = AGKLUA_CheckFloat(L, 1);
	float diameter = AGKLUA_CheckFloat(L, 2);
	int segments = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::CreateObjectCone(height, diameter, segments);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateObjectCylinder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float height = AGKLUA_CheckFloat(L, 1);
	float diameter = AGKLUA_CheckFloat(L, 2);
	int segments = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::CreateObjectCylinder(height, diameter, segments);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateObjectPlane(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float width = AGKLUA_CheckFloat(L, 1);
	float height = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	int result = agk::CreateObjectPlane(width, height);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateObjectQuad(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::CreateObjectQuad();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateObjectFromHeightMap(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	const char * szImageFile = AGKLUA_CheckString(L, 1);
	float width = AGKLUA_CheckFloat(L, 2);
	float height = AGKLUA_CheckFloat(L, 3);
	float length = AGKLUA_CheckFloat(L, 4);
	int smoothing = AGKLUA_CheckNumber(L, 5);
	int split = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	int result = agk::CreateObjectFromHeightMap(szImageFile, width, height, length, smoothing, split);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateObjectFromObjectMesh(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int fromObjID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::CreateObjectFromObjectMesh(fromObjID, meshIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFilename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadObject(szFilename);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadObjectWithChildren(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFilename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadObjectWithChildren(szFilename);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SaveObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * szFilename = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SaveObject(objID, szFilename);
	return 0;
}
int AGKLua_CloneObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CloneObject(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_InstanceObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::InstanceObject(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectExists(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteObject(objID);
	return 0;
}
int AGKLua_DeleteObjectWithChildren(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteObjectWithChildren(objID);
	return 0;
}
int AGKLua_DeleteAllObjects(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::DeleteAllObjects();
	return 0;
}
int AGKLua_GetObjectNumChildren(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectNumChildren(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectChildID(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int childIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetObjectChildID(objID, childIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectNumBones(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectNumBones(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * name = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::GetObjectBoneByName(objID, name);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectNumMeshes(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectNumMeshes(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectMeshName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetObjectMeshName(objID, meshIndex);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetObjectMeshImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int imageID = AGKLUA_CheckNumber(L, 3);
	int textureStage = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetObjectMeshImage(objID, meshIndex, imageID, textureStage);
	return 0;
}
int AGKLua_SetObjectMeshLightMap(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int imageID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectMeshLightMap(objID, meshIndex, imageID);
	return 0;
}
int AGKLua_SetObjectMeshShader(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int shaderID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectMeshShader(objID, meshIndex, shaderID);
	return 0;
}
int AGKLua_GetObjectMeshVSSource(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetObjectMeshVSSource(objID, meshIndex);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetObjectMeshPSSource(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetObjectMeshPSSource(objID, meshIndex);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetObjectMeshUVOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int textureStage = AGKLUA_CheckNumber(L, 3);
	float offsetU = AGKLUA_CheckFloat(L, 4);
	float offsetV = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetObjectMeshUVOffset(objID, meshIndex, textureStage, offsetU, offsetV);
	return 0;
}
int AGKLua_SetObjectMeshUVScale(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int textureStage = AGKLUA_CheckNumber(L, 3);
	float scaleU = AGKLUA_CheckFloat(L, 4);
	float scaleV = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetObjectMeshUVScale(objID, meshIndex, textureStage, scaleU, scaleV);
	return 0;
}
int AGKLua_GetObjectMeshSizeMinX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectMeshSizeMinX(objID, meshIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectMeshSizeMaxX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectMeshSizeMaxX(objID, meshIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectMeshSizeMinY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectMeshSizeMinY(objID, meshIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectMeshSizeMaxY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectMeshSizeMaxY(objID, meshIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectMeshSizeMinZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectMeshSizeMinZ(objID, meshIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectMeshSizeMaxZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectMeshSizeMaxZ(objID, meshIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_FixObjectToObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int toObjID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::FixObjectToObject(objID, toObjID);
	return 0;
}
int AGKLua_FixObjectToBone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int toObjID = AGKLUA_CheckNumber(L, 2);
	int toBoneIndex = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::FixObjectToBone(objID, toObjID, toBoneIndex);
	return 0;
}
int AGKLua_GetObjectNumAnimations(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectNumAnimations(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectAnimationName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int index = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetObjectAnimationName(objID, index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_PlayObjectAnimation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * animName = AGKLUA_CheckString(L, 2);
	float starttime = AGKLUA_CheckFloat(L, 3);
	float endtime = AGKLUA_CheckFloat(L, 4);
	int loop = AGKLUA_CheckNumber(L, 5);
	float tweentime = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::PlayObjectAnimation(objID, animName, starttime, endtime, loop, tweentime);
	return 0;
}
int AGKLua_SetObjectAnimationFrame(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * animName = AGKLUA_CheckString(L, 2);
	float time = AGKLUA_CheckFloat(L, 3);
	float tweentime = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectAnimationFrame(objID, animName, time, tweentime);
	return 0;
}
int AGKLua_StopObjectAnimation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::StopObjectAnimation(objID);
	return 0;
}
int AGKLua_ResetObjectAnimation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ResetObjectAnimation(objID);
	return 0;
}
int AGKLua_SetObjectAnimationSpeed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float speed = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetObjectAnimationSpeed(objID, speed);
	return 0;
}
int AGKLua_GetObjectIsAnimating(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectIsAnimating(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectIsTweening(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectIsTweening(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectAnimationTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectAnimationTime(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectAnimationDuration(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * animName = AGKLUA_CheckString(L, 2);

	// Call function and push result
	float result = agk::GetObjectAnimationDuration(objID, animName);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectBonePosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float z = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetObjectBonePosition(objID, boneIndex, x, y, z);
	return 0;
}
int AGKLua_SetObjectBoneRotation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);
	float angx = AGKLUA_CheckFloat(L, 3);
	float angy = AGKLUA_CheckFloat(L, 4);
	float angz = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetObjectBoneRotation(objID, boneIndex, angx, angy, angz);
	return 0;
}
int AGKLua_SetObjectBoneRotationQuat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);
	float w = AGKLUA_CheckFloat(L, 3);
	float x = AGKLUA_CheckFloat(L, 4);
	float y = AGKLUA_CheckFloat(L, 5);
	float z = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::SetObjectBoneRotationQuat(objID, boneIndex, w, x, y, z);
	return 0;
}
int AGKLua_SetObjectBoneLookAt(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float z = AGKLUA_CheckFloat(L, 5);
	float roll = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::SetObjectBoneLookAt(objID, boneIndex, x, y, z, roll);
	return 0;
}
int AGKLua_SetObjectBoneCanAnimate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);
	int animate = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectBoneCanAnimate(objID, boneIndex, animate);
	return 0;
}
int AGKLua_RotateObjectBoneLocalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);
	float amount = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::RotateObjectBoneLocalX(objID, boneIndex, amount);
	return 0;
}
int AGKLua_RotateObjectBoneLocalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);
	float amount = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::RotateObjectBoneLocalY(objID, boneIndex, amount);
	return 0;
}
int AGKLua_RotateObjectBoneLocalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);
	float amount = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::RotateObjectBoneLocalZ(objID, boneIndex, amount);
	return 0;
}
int AGKLua_GetObjectBoneName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetObjectBoneName(objID, boneIndex);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetObjectBoneX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneX(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneY(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneZ(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneAngleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneAngleX(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneAngleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneAngleY(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneAngleZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneAngleZ(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneQuatW(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneQuatW(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneQuatX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneQuatX(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneQuatY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneQuatY(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneQuatZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneQuatZ(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldX(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldY(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldZ(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldAngleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldAngleX(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldAngleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldAngleY(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldAngleZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldAngleZ(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldQuatW(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldQuatW(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldQuatX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldQuatX(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldQuatY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldQuatY(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectBoneWorldQuatZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int boneIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetObjectBoneWorldQuatZ(objID, boneIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectPosition(objID, x, y, z);
	return 0;
}
int AGKLua_SetObjectRotation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	float angx = AGKLUA_CheckFloat(L, 2);
	float angy = AGKLUA_CheckFloat(L, 3);
	float angz = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectRotation(objID, angx, angy, angz);
	return 0;
}
int AGKLua_SetObjectRotationQuat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	float w = AGKLUA_CheckFloat(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float z = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetObjectRotationQuat(objID, w, x, y, z);
	return 0;
}
int AGKLua_SetObjectScale(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectScale(objID, x, y, z);
	return 0;
}
int AGKLua_SetObjectScalePermanent(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectScalePermanent(objID, x, y, z);
	return 0;
}
int AGKLua_MoveObjectLocalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::MoveObjectLocalX(objID, amount);
	return 0;
}
int AGKLua_MoveObjectLocalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::MoveObjectLocalY(objID, amount);
	return 0;
}
int AGKLua_MoveObjectLocalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::MoveObjectLocalZ(objID, amount);
	return 0;
}
int AGKLua_RotateObjectLocalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateObjectLocalX(objID, amount);
	return 0;
}
int AGKLua_RotateObjectLocalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateObjectLocalY(objID, amount);
	return 0;
}
int AGKLua_RotateObjectLocalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateObjectLocalZ(objID, amount);
	return 0;
}
int AGKLua_RotateObjectGlobalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateObjectGlobalX(objID, amount);
	return 0;
}
int AGKLua_RotateObjectGlobalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateObjectGlobalY(objID, amount);
	return 0;
}
int AGKLua_RotateObjectGlobalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateObjectGlobalZ(objID, amount);
	return 0;
}
int AGKLua_GetObjectX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectAngleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectAngleX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectAngleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectAngleY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectAngleZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectAngleZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectQuatW(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectQuatW(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectQuatX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectQuatX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectQuatY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectQuatY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectQuatZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectQuatZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldAngleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldAngleX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldAngleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldAngleY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldAngleZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldAngleZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldQuatW(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldQuatW(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldQuatX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldQuatX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldQuatY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldQuatY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectWorldQuatZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectWorldQuatZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectSizeMinX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectSizeMinX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectSizeMaxX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectSizeMaxX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectSizeMinY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectSizeMinY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectSizeMaxY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectSizeMaxY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectSizeMinZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectSizeMinZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectSizeMaxZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectSizeMaxZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectLookAt(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);
	float roll = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetObjectLookAt(objID, x, y, z, roll);
	return 0;
}
int AGKLua_FixObjectPivot(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::FixObjectPivot(objID);
	return 0;
}
int AGKLua_GetObjectHeightMapHeight(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float z = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	float result = agk::GetObjectHeightMapHeight(objID, x, z);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);
	int texStage = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectImage(objID, imageID, texStage);
	return 0;
}
int AGKLua_SetObjectLightMap(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectLightMap(objID, imageID);
	return 0;
}
int AGKLua_SetObjectShader(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int shaderID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectShader(objID, shaderID);
	return 0;
}
int AGKLua_SetObjectColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int red = AGKLUA_CheckNumber(L, 2);
	int green = AGKLUA_CheckNumber(L, 3);
	int blue = AGKLUA_CheckNumber(L, 4);
	int alpha = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::SetObjectColor(objID, red, green, blue, alpha);
	return 0;
}
int AGKLua_SetObjectColorEmissive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	int red = AGKLUA_CheckNumber(L, 2);
	int green = AGKLUA_CheckNumber(L, 3);
	int blue = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetObjectColorEmissive(objID, red, green, blue);
	return 0;
}
int AGKLua_SetObjectLightMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectLightMode(objID, mode);
	return 0;
}
int AGKLua_SetObjectScreenCulling(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectScreenCulling(objID, mode);
	return 0;
}
int AGKLua_SetObjectUVOffset(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	int textureStage = AGKLUA_CheckNumber(L, 2);
	float offsetU = AGKLUA_CheckFloat(L, 3);
	float offsetV = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectUVOffset(objID, textureStage, offsetU, offsetV);
	return 0;
}
int AGKLua_SetObjectUVScale(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	int textureStage = AGKLUA_CheckNumber(L, 2);
	float scaleU = AGKLUA_CheckFloat(L, 3);
	float scaleV = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectUVScale(objID, textureStage, scaleU, scaleV);
	return 0;
}
int AGKLua_SetObjectFogMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectFogMode(objID, mode);
	return 0;
}
int AGKLua_SetObjectDepthReadMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectDepthReadMode(objID, mode);
	return 0;
}
int AGKLua_SetObjectDepthWrite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectDepthWrite(objID, mode);
	return 0;
}
int AGKLua_SetObjectDepthBias(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float bias = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetObjectDepthBias(objID, bias);
	return 0;
}
int AGKLua_SetObjectDepthRange(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	float zNear = AGKLUA_CheckFloat(L, 2);
	float zFar = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetObjectDepthRange(objID, zNear, zFar);
	return 0;
}
int AGKLua_SetObjectTransparency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectTransparency(objID, mode);
	return 0;
}
int AGKLua_SetObjectAlphaMask(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectAlphaMask(objID, mode);
	return 0;
}
int AGKLua_SetObjectCullMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectCullMode(objID, mode);
	return 0;
}
int AGKLua_SetObjectVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectVisible(objID, mode);
	return 0;
}
int AGKLua_GetObjectDepthReadMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectDepthReadMode(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectDepthWrite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectDepthWrite(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectDepthBias(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectDepthBias(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectTransparency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectTransparency(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectCullMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectCullMode(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectVisible(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectInScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectInScreen(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetObjectName(objID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetObjectShaderConstantByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	float value1 = AGKLUA_CheckFloat(L, 3);
	float value2 = AGKLUA_CheckFloat(L, 4);
	float value3 = AGKLUA_CheckFloat(L, 5);
	float value4 = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::SetObjectShaderConstantByName(objID, szName, value1, value2, value3, value4);
	return 0;
}
int AGKLua_SetObjectShaderConstantArrayByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value1 = AGKLUA_CheckFloat(L, 4);
	float value2 = AGKLUA_CheckFloat(L, 5);
	float value3 = AGKLUA_CheckFloat(L, 6);
	float value4 = AGKLUA_CheckFloat(L, 7);

	// Call function and push result
	agk::SetObjectShaderConstantArrayByName(objID, szName, arrayIndex, value1, value2, value3, value4);
	return 0;
}
int AGKLua_SetObjectShaderConstantDefault(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SetObjectShaderConstantDefault(objID, szName);
	return 0;
}
int AGKLua_DrawObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DrawObject(objID);
	return 0;
}
int AGKLua_GetScreenXFrom3D(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float z = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	float result = agk::GetScreenXFrom3D(x, y, z);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetScreenYFrom3D(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float z = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	float result = agk::GetScreenYFrom3D(x, y, z);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DVectorXFromScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	float result = agk::Get3DVectorXFromScreen(x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DVectorYFromScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	float result = agk::Get3DVectorYFromScreen(x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DVectorZFromScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	float result = agk::Get3DVectorZFromScreen(x, y);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectCollisionMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectCollisionMode(objID, mode);
	return 0;
}
int AGKLua_ObjectRayCast(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int objID = AGKLUA_CheckNumber(L, 1);
	float oldx = AGKLUA_CheckFloat(L, 2);
	float oldy = AGKLUA_CheckFloat(L, 3);
	float oldz = AGKLUA_CheckFloat(L, 4);
	float newx = AGKLUA_CheckFloat(L, 5);
	float newy = AGKLUA_CheckFloat(L, 6);
	float newz = AGKLUA_CheckFloat(L, 7);

	// Call function and push result
	int result = agk::ObjectRayCast(objID, oldx, oldy, oldz, newx, newy, newz);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ObjectSphereCast(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 8);
	int objID = AGKLUA_CheckNumber(L, 1);
	float oldx = AGKLUA_CheckFloat(L, 2);
	float oldy = AGKLUA_CheckFloat(L, 3);
	float oldz = AGKLUA_CheckFloat(L, 4);
	float newx = AGKLUA_CheckFloat(L, 5);
	float newy = AGKLUA_CheckFloat(L, 6);
	float newz = AGKLUA_CheckFloat(L, 7);
	float radius = AGKLUA_CheckFloat(L, 8);

	// Call function and push result
	int result = agk::ObjectSphereCast(objID, oldx, oldy, oldz, newx, newy, newz, radius);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ObjectSphereSlide(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 8);
	int objID = AGKLUA_CheckNumber(L, 1);
	float oldx = AGKLUA_CheckFloat(L, 2);
	float oldy = AGKLUA_CheckFloat(L, 3);
	float oldz = AGKLUA_CheckFloat(L, 4);
	float newx = AGKLUA_CheckFloat(L, 5);
	float newy = AGKLUA_CheckFloat(L, 6);
	float newz = AGKLUA_CheckFloat(L, 7);
	float radius = AGKLUA_CheckFloat(L, 8);

	// Call function and push result
	int result = agk::ObjectSphereSlide(objID, oldx, oldy, oldz, newx, newy, newz, radius);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastNumHits(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetObjectRayCastNumHits();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastHitID(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectRayCastHitID(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastSlideX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastSlideX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastSlideY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastSlideY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastSlideZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastSlideZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastNormalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastNormalX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastNormalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastNormalY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastNormalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastNormalZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastBounceX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastBounceX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastBounceY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastBounceY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastBounceZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastBounceZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectRayCastDistance(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObjectRayCastDistance(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetFogMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetFogMode(mode);
	return 0;
}
int AGKLua_SetFogColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetFogColor(red, green, blue);
	return 0;
}
int AGKLua_SetFogSunColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetFogSunColor(red, green, blue);
	return 0;
}
int AGKLua_SetFogRange(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float minDist = AGKLUA_CheckFloat(L, 1);
	float maxDist = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetFogRange(minDist, maxDist);
	return 0;
}
int AGKLua_GetFogMode(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetFogMode();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSkyBoxVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int active = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSkyBoxVisible(active);
	return 0;
}
int AGKLua_SetSkyBoxSkyColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSkyBoxSkyColor(red, green, blue);
	return 0;
}
int AGKLua_SetSkyBoxHorizonColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSkyBoxHorizonColor(red, green, blue);
	return 0;
}
int AGKLua_SetSkyBoxSunColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSkyBoxSunColor(red, green, blue);
	return 0;
}
int AGKLua_SetSkyBoxHorizonSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float size = AGKLUA_CheckFloat(L, 1);
	float height = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSkyBoxHorizonSize(size, height);
	return 0;
}
int AGKLua_SetSkyBoxSunVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int visible = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSkyBoxSunVisible(visible);
	return 0;
}
int AGKLua_SetSkyBoxSunSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float sun = AGKLUA_CheckFloat(L, 1);
	float halo = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetSkyBoxSunSize(sun, halo);
	return 0;
}
int AGKLua_LoadShader(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szVertexFile = AGKLUA_CheckString(L, 1);
	const char * szPixelFile = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::LoadShader(szVertexFile, szPixelFile);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadFullScreenShader(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szPixelFile = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadFullScreenShader(szPixelFile);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadSpriteShader(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szPixelFile = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadSpriteShader(szPixelFile);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetShaderConstantByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int shaderID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	float value1 = AGKLUA_CheckFloat(L, 3);
	float value2 = AGKLUA_CheckFloat(L, 4);
	float value3 = AGKLUA_CheckFloat(L, 5);
	float value4 = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::SetShaderConstantByName(shaderID, szName, value1, value2, value3, value4);
	return 0;
}
int AGKLua_SetShaderConstantArrayByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int shaderID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value1 = AGKLUA_CheckFloat(L, 4);
	float value2 = AGKLUA_CheckFloat(L, 5);
	float value3 = AGKLUA_CheckFloat(L, 6);
	float value4 = AGKLUA_CheckFloat(L, 7);

	// Call function and push result
	agk::SetShaderConstantArrayByName(shaderID, szName, arrayIndex, value1, value2, value3, value4);
	return 0;
}
int AGKLua_SetCameraPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetCameraPosition(cameraID, x, y, z);
	return 0;
}
int AGKLua_SetCameraRotationQuat(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float w = AGKLUA_CheckFloat(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float z = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetCameraRotationQuat(cameraID, w, x, y, z);
	return 0;
}
int AGKLua_SetCameraRotation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float angx = AGKLUA_CheckFloat(L, 2);
	float angy = AGKLUA_CheckFloat(L, 3);
	float angz = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetCameraRotation(cameraID, angx, angy, angz);
	return 0;
}
int AGKLua_MoveCameraLocalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::MoveCameraLocalX(cameraID, amount);
	return 0;
}
int AGKLua_MoveCameraLocalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::MoveCameraLocalY(cameraID, amount);
	return 0;
}
int AGKLua_MoveCameraLocalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::MoveCameraLocalZ(cameraID, amount);
	return 0;
}
int AGKLua_RotateCameraLocalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateCameraLocalX(cameraID, amount);
	return 0;
}
int AGKLua_RotateCameraLocalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateCameraLocalY(cameraID, amount);
	return 0;
}
int AGKLua_RotateCameraLocalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateCameraLocalZ(cameraID, amount);
	return 0;
}
int AGKLua_RotateCameraGlobalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateCameraGlobalX(cameraID, amount);
	return 0;
}
int AGKLua_RotateCameraGlobalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateCameraGlobalY(cameraID, amount);
	return 0;
}
int AGKLua_RotateCameraGlobalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float amount = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::RotateCameraGlobalZ(cameraID, amount);
	return 0;
}
int AGKLua_GetCameraX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraX(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraY(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraZ(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraAngleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraAngleX(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraAngleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraAngleY(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraAngleZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraAngleZ(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraQuatW(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraQuatW(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraQuatX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraQuatX(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraQuatY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraQuatY(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraQuatZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraQuatZ(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetCameraLookAt(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);
	float roll = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetCameraLookAt(cameraID, x, y, z, roll);
	return 0;
}
int AGKLua_SetCameraRange(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float fNear = AGKLUA_CheckFloat(L, 2);
	float fFar = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetCameraRange(cameraID, fNear, fFar);
	return 0;
}
int AGKLua_SetCameraAspect(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float aspect = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetCameraAspect(cameraID, aspect);
	return 0;
}
int AGKLua_SetCameraFOV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float fov = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetCameraFOV(cameraID, fov);
	return 0;
}
int AGKLua_SetCameraOrthoWidth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float width = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetCameraOrthoWidth(cameraID, width);
	return 0;
}
int AGKLua_SetCameraBounds(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	float left = AGKLUA_CheckFloat(L, 2);
	float right = AGKLUA_CheckFloat(L, 3);
	float top = AGKLUA_CheckFloat(L, 4);
	float bottom = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetCameraBounds(cameraID, left, right, top, bottom);
	return 0;
}
int AGKLua_SetCameraOffCenter(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetCameraOffCenter(cameraID, mode);
	return 0;
}
int AGKLua_GetCameraFOV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraFOV(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreatePointLight(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 8);
	int lightID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);
	float radius = AGKLUA_CheckFloat(L, 5);
	int red = AGKLUA_CheckNumber(L, 6);
	int green = AGKLUA_CheckNumber(L, 7);
	int blue = AGKLUA_CheckNumber(L, 8);

	// Call function and push result
	agk::CreatePointLight(lightID, x, y, z, radius, red, green, blue);
	return 0;
}
int AGKLua_GetPointLightExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int lightID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetPointLightExists(lightID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeletePointLight(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int lightID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeletePointLight(lightID);
	return 0;
}
int AGKLua_ClearPointLights(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ClearPointLights();
	return 0;
}
int AGKLua_SetPointLightPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int lightID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetPointLightPosition(lightID, x, y, z);
	return 0;
}
int AGKLua_SetPointLightColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int lightID = AGKLUA_CheckNumber(L, 1);
	int red = AGKLUA_CheckNumber(L, 2);
	int green = AGKLUA_CheckNumber(L, 3);
	int blue = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SetPointLightColor(lightID, red, green, blue);
	return 0;
}
int AGKLua_SetPointLightRadius(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int lightID = AGKLUA_CheckNumber(L, 1);
	float radius = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetPointLightRadius(lightID, radius);
	return 0;
}
int AGKLua_SetPointLightMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int lightID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetPointLightMode(lightID, mode);
	return 0;
}
int AGKLua_SetSunDirection(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float vx = AGKLUA_CheckFloat(L, 1);
	float vy = AGKLUA_CheckFloat(L, 2);
	float vz = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetSunDirection(vx, vy, vz);
	return 0;
}
int AGKLua_SetSunColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSunColor(red, green, blue);
	return 0;
}
int AGKLua_SetSunActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int active = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSunActive(active);
	return 0;
}
int AGKLua_SetAmbientColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int red = AGKLUA_CheckNumber(L, 1);
	int green = AGKLUA_CheckNumber(L, 2);
	int blue = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetAmbientColor(red, green, blue);
	return 0;
}
/*
int AGKLua_Create3DPhysicsWorld(lua_State *L)
{
// Get variables from lua

// Call function and push result
agk::Create3DPhysicsWorld();
return 0;
}
*/
int AGKLua_Create3DPhysicsWorld(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float scaleFactor = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::Create3DPhysicsWorld(scaleFactor);
	return 0;
}
/*
int AGKLua_Set3DPhysicsGravity(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 3);
float x = AGKLUA_CheckFloat(L, 1);
float y = AGKLUA_CheckFloat(L, 2);
float z = AGKLUA_CheckFloat(L, 3);

// Call function and push result
agk::Set3DPhysicsGravity(x,y,z);
return 0;
}
*/
int AGKLua_Set3DPhysicsGravity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int vectorID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Set3DPhysicsGravity(vectorID);
	return 0;
}
int AGKLua_Step3DPhysicsWorld(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Step3DPhysicsWorld();
	return 0;
}
int AGKLua_Reset3DPhysicsWorld(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Reset3DPhysicsWorld();
	return 0;
}
int AGKLua_Delete3DPhysicsWorld(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Delete3DPhysicsWorld();
	return 0;
}
int AGKLua_Debug3DPhysicsWorld(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Debug3DPhysicsWorld();
	return 0;
}
int AGKLua_Get3DPhysicsTotalObjects(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::Get3DPhysicsTotalObjects();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsActiveObjects(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::Get3DPhysicsActiveObjects();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsTotalJoints(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::Get3DPhysicsTotalJoints();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectShapeBox(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	float sizeX = AGKLUA_CheckFloat(L, 2);
	float sizeY = AGKLUA_CheckFloat(L, 3);
	float sizeZ = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectShapeBox(objID, sizeX, sizeY, sizeZ);
	return 0;
}
int AGKLua_SetObjectShapeSphere(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float diameter = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetObjectShapeSphere(objID, diameter);
	return 0;
}
int AGKLua_SetObjectShapeCylinder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	int axis = AGKLUA_CheckNumber(L, 2);
	float height = AGKLUA_CheckFloat(L, 3);
	float diameter = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectShapeCylinder(objID, axis, height, diameter);
	return 0;
}
int AGKLua_SetObjectShapeCone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	int axis = AGKLUA_CheckNumber(L, 2);
	float height = AGKLUA_CheckFloat(L, 3);
	float diameter = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectShapeCone(objID, axis, height, diameter);
	return 0;
}
int AGKLua_SetObjectShapeCapsule(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int axis = AGKLUA_CheckNumber(L, 2);
	float sizeX = AGKLUA_CheckFloat(L, 3);
	float sizeY = AGKLUA_CheckFloat(L, 4);
	float sizeZ = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetObjectShapeCapsule(objID, axis, sizeX, sizeY, sizeZ);
	return 0;
}
int AGKLua_SetObjectShapeConvexHull(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetObjectShapeConvexHull(objID);
	return 0;
}
int AGKLua_SetObjectShapeStaticPolygon(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetObjectShapeStaticPolygon(objID);
	return 0;
}
int AGKLua_SetObjectShapeCompound(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetObjectShapeCompound(objID);
	return 0;
}
int AGKLua_Create3DPhysicsDynamicBody(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Create3DPhysicsDynamicBody(objID);
	return 0;
}
int AGKLua_Create3DPhysicsStaticBody(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Create3DPhysicsStaticBody(objID);
	return 0;
}
int AGKLua_Create3DPhysicsKinematicBody(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Create3DPhysicsKinematicBody(objID);
	return 0;
}
int AGKLua_Delete3DPhysicsBody(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Delete3DPhysicsBody(objID);
	return 0;
}
int AGKLua_Create3DPhysicsStaticPlane(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	float normlX = AGKLUA_CheckFloat(L, 1);
	float normalY = AGKLUA_CheckFloat(L, 2);
	float normalZ = AGKLUA_CheckFloat(L, 3);
	float offsetPosition = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	int result = agk::Create3DPhysicsStaticPlane(normlX, normalY, normalZ, offsetPosition);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Set3DPhysicsStaticPlanePosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int planeID = AGKLUA_CheckNumber(L, 1);
	float posX = AGKLUA_CheckFloat(L, 2);
	float posY = AGKLUA_CheckFloat(L, 3);
	float posZ = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::Set3DPhysicsStaticPlanePosition(planeID, posX, posY, posZ);
	return 0;
}
int AGKLua_Set3DPhysicsStaticPlaneRotation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int planeID = AGKLUA_CheckNumber(L, 1);
	float angX = AGKLUA_CheckFloat(L, 2);
	float angY = AGKLUA_CheckFloat(L, 3);
	float angZ = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::Set3DPhysicsStaticPlaneRotation(planeID, angX, angY, angZ);
	return 0;
}
int AGKLua_Delete3DPhysicsStaticPlane(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int planeID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Delete3DPhysicsStaticPlane(planeID);
	return 0;
}
int AGKLua_SetObject3DPhysicsGroupAndMask(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int group = AGKLUA_CheckNumber(L, 2);
	int mask = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObject3DPhysicsGroupAndMask(objID, group, mask);
	return 0;
}
int AGKLua_GetObject3DPhysicsGroup(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObject3DPhysicsGroup(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsMask(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObject3DPhysicsMask(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObject3DPhysicsMass(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float mass = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetObject3DPhysicsMass(objID, mass);
	return 0;
}
int AGKLua_GetObject3DPhysicsMass(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsMass(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObject3DPhysicsCanSleep(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int canSleep = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObject3DPhysicsCanSleep(objID, canSleep);
	return 0;
}
int AGKLua_SetObject3DPhysicsFriction(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float friction = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetObject3DPhysicsFriction(objID, friction);
	return 0;
}
int AGKLua_GetObject3DPhysicsFriction(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsFriction(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObject3DPhysicsRollingFriction(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float friction = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetObject3DPhysicsRollingFriction(objID, friction);
	return 0;
}
int AGKLua_GetObject3DPhysicsRollingFriction(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsRollingFriction(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObject3DPhysicsAnisotropicFriction(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int type = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObject3DPhysicsAnisotropicFriction(objID, type);
	return 0;
}
int AGKLua_SetObject3DPhysicsMaxLinearVelocity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float maxLinearVelocity = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetObject3DPhysicsMaxLinearVelocity(objID, maxLinearVelocity);
	return 0;
}
/*
int AGKLua_SetObject3DPhysicsLinearVelocity(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 5);
int objID = AGKLUA_CheckNumber(L, 1);
float dirX = AGKLUA_CheckFloat(L, 2);
float dirY = AGKLUA_CheckFloat(L, 3);
float dirZ = AGKLUA_CheckFloat(L, 4);
float initialSpeed = AGKLUA_CheckFloat(L, 5);

// Call function and push result
agk::SetObject3DPhysicsLinearVelocity(objID,dirX,dirY,dirZ,initialSpeed);
return 0;
}
*/
int AGKLua_SetObject3DPhysicsLinearVelocity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int vectorID = AGKLUA_CheckNumber(L, 2);
	float initialSpeed = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetObject3DPhysicsLinearVelocity(objID, vectorID, initialSpeed);
	return 0;
}
int AGKLua_GetObject3DPhysicsLinearVelocityX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsLinearVelocityX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsLinearVelocityY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsLinearVelocityY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsLinearVelocityZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsLinearVelocityZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_SetObject3DPhysicsAngularVelocity(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 5);
int objID = AGKLUA_CheckNumber(L, 1);
float angX = AGKLUA_CheckFloat(L, 2);
float angY = AGKLUA_CheckFloat(L, 3);
float angZ = AGKLUA_CheckFloat(L, 4);
float initialSpeed = AGKLUA_CheckFloat(L, 5);

// Call function and push result
agk::SetObject3DPhysicsAngularVelocity(objID,angX,angY,angZ,initialSpeed);
return 0;
}
*/
int AGKLua_SetObject3DPhysicsAngularVelocity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int vectorID = AGKLUA_CheckNumber(L, 2);
	float initialSpeed = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetObject3DPhysicsAngularVelocity(objID, vectorID, initialSpeed);
	return 0;
}
int AGKLua_GetObject3DPhysicsAngularVelocityX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsAngularVelocityX(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsAngularVelocityY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsAngularVelocityY(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsAngularVelocityZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsAngularVelocityZ(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObject3DPhysicsDamping(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	float linearDamp = AGKLUA_CheckFloat(L, 2);
	float angularDamp = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetObject3DPhysicsDamping(objID, linearDamp, angularDamp);
	return 0;
}
int AGKLua_GetObject3DPhysicsLinearDamp(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsLinearDamp(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsAngularDamp(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsAngularDamp(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObject3DPhysicsSleepingThreshold(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	float angular = AGKLUA_CheckFloat(L, 2);
	float linear = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetObject3DPhysicsSleepingThreshold(objID, angular, linear);
	return 0;
}
int AGKLua_GetObject3DPhysicsAngularSleepingThreshold(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsAngularSleepingThreshold(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsLinearSleepingThreshold(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsLinearSleepingThreshold(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObject3DPhysicsDeactivationTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetObject3DPhysicsDeactivationTime(objID, time);
	return 0;
}
int AGKLua_SetObject3DPhysicsRestitution(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float friction = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetObject3DPhysicsRestitution(objID, friction);
	return 0;
}
int AGKLua_GetObject3DPhysicsRestitution(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsRestitution(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsFirstContact(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObject3DPhysicsFirstContact(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsContactX(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetObject3DPhysicsContactX();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsContactY(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetObject3DPhysicsContactY();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsContactZ(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetObject3DPhysicsContactZ();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsContactVector(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int outPosVec3 = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObject3DPhysicsContactVector(outPosVec3);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsContactObjectB(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetObject3DPhysicsContactObjectB();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObject3DPhysicsNextContact(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetObject3DPhysicsNextContact();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjects3DPhysicsContactPositionVector(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objA = AGKLUA_CheckNumber(L, 1);
	int objB = AGKLUA_CheckNumber(L, 2);
	int outPosVec3 = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::GetObjects3DPhysicsContactPositionVector(objA, objB, outPosVec3);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Create3DPhysicsPickJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int positionVec3 = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::Create3DPhysicsPickJoint(objID, positionVec3);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Update3DPhysicsPickJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	int positionVec3 = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Update3DPhysicsPickJoint(jointID, positionVec3);
	return 0;
}
int AGKLua_Delete3DPhysicsPickJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int jointID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Delete3DPhysicsPickJoint(jointID);
	return 0;
}
int AGKLua_Create3DPhysicsHingeJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objA = AGKLUA_CheckNumber(L, 1);
	int objB = AGKLUA_CheckNumber(L, 2);
	int positionVec3 = AGKLUA_CheckNumber(L, 3);
	int rotationVec3 = AGKLUA_CheckNumber(L, 4);
	int disableCollisions = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	int result = agk::Create3DPhysicsHingeJoint(objA, objB, positionVec3, rotationVec3, disableCollisions);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Create3DPhysicsConeTwistJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objA = AGKLUA_CheckNumber(L, 1);
	int objB = AGKLUA_CheckNumber(L, 2);
	int positionVec3 = AGKLUA_CheckNumber(L, 3);
	int rotationVec3 = AGKLUA_CheckNumber(L, 4);
	int disableCollisions = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	int result = agk::Create3DPhysicsConeTwistJoint(objA, objB, positionVec3, rotationVec3, disableCollisions);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Create3DPhysicsSliderJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objA = AGKLUA_CheckNumber(L, 1);
	int objB = AGKLUA_CheckNumber(L, 2);
	int positionVec3 = AGKLUA_CheckNumber(L, 3);
	int rotationVec3 = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	int result = agk::Create3DPhysicsSliderJoint(objA, objB, positionVec3, rotationVec3);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Create3DPhysicsFixedJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objA = AGKLUA_CheckNumber(L, 1);
	int objB = AGKLUA_CheckNumber(L, 2);
	int positionVec3 = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::Create3DPhysicsFixedJoint(objA, objB, positionVec3);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Create3DPhysics6DOFJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objA = AGKLUA_CheckNumber(L, 1);
	int objB = AGKLUA_CheckNumber(L, 2);
	int positionVec3 = AGKLUA_CheckNumber(L, 3);
	float rotationVec3 = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	int result = agk::Create3DPhysics6DOFJoint(objA, objB, positionVec3, rotationVec3);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Set3DPhysicsJointSliderAngularLimits(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float lowerLimit = AGKLUA_CheckFloat(L, 2);
	float upperLimit = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::Set3DPhysicsJointSliderAngularLimits(jointID, lowerLimit, upperLimit);
	return 0;
}
int AGKLua_Set3DPhysicsJointSliderLinearLimits(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float lowerLimit = AGKLUA_CheckFloat(L, 2);
	float upperLimit = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::Set3DPhysicsJointSliderLinearLimits(jointID, lowerLimit, upperLimit);
	return 0;
}
int AGKLua_Set3DPhysicsJointConeTwistLimits(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float swingSpan1 = AGKLUA_CheckFloat(L, 2);
	float swingSpan2 = AGKLUA_CheckFloat(L, 3);
	float twistSpan = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::Set3DPhysicsJointConeTwistLimits(jointID, swingSpan1, swingSpan2, twistSpan);
	return 0;
}
int AGKLua_Set3DPhysicsJointHingeLimits(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float minAng = AGKLUA_CheckFloat(L, 2);
	float maxAng = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::Set3DPhysicsJointHingeLimits(jointID, minAng, maxAng);
	return 0;
}
int AGKLua_Set3DPhysicsJointBreakingThreshold(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float breakThreshold = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsJointBreakingThreshold(jointID, breakThreshold);
	return 0;
}
int AGKLua_Set3DPhysicsJointEnabled(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	int isEnabled = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DPhysicsJointEnabled(jointID, isEnabled);
	return 0;
}
int AGKLua_Get3DPhysicsJointEnabled(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int jointID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DPhysicsJointEnabled(jointID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsJointPositionVector(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int jointID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DPhysicsJointPositionVector(jointID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsJointRotationVector(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int jointID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DPhysicsJointRotationVector(jointID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Delete3DPhysicsJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int jointID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Delete3DPhysicsJoint(jointID);
	return 0;
}
int AGKLua_Set3DPhysicsHingeJointMotorIsEnabled(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	int isEnabled = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DPhysicsHingeJointMotorIsEnabled(jointID, isEnabled);
	return 0;
}
int AGKLua_Set3DPhysicsHingeJointMaxMotorImpulse(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float maxImpulse = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsHingeJointMaxMotorImpulse(jointID, maxImpulse);
	return 0;
}
int AGKLua_Set3DPhysicsHingeJointMotorVelocity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float targetVelocity = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsHingeJointMotorVelocity(jointID, targetVelocity);
	return 0;
}
int AGKLua_Set3DPhysicsTwistJointMotorIsEnabled(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	int isEnabled = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DPhysicsTwistJointMotorIsEnabled(jointID, isEnabled);
	return 0;
}
int AGKLua_Set3DPhysicsTwistJointMaxMotorImpulse(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float maxImpulse = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsTwistJointMaxMotorImpulse(jointID, maxImpulse);
	return 0;
}
int AGKLua_Set3DPhysicsTwistJointMotorRotationTarget(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	int rotationVec3ID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DPhysicsTwistJointMotorRotationTarget(jointID, rotationVec3ID);
	return 0;
}
int AGKLua_Set3DPhysicsSliderJointPoweredLinearMotorIsEnabled(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	int isEnabled = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DPhysicsSliderJointPoweredLinearMotorIsEnabled(jointID, isEnabled);
	return 0;
}
int AGKLua_Set3DPhysicsSliderJointMaxLinearMotorForce(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float maxLinearForce = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsSliderJointMaxLinearMotorForce(jointID, maxLinearForce);
	return 0;
}
int AGKLua_Set3DPhysicsSliderJointTargetLinearMotorVelocity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int jointID = AGKLUA_CheckNumber(L, 1);
	float linearMotorVelocity = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsSliderJointTargetLinearMotorVelocity(jointID, linearMotorVelocity);
	return 0;
}
int AGKLua_AddObjectShapeBox(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	int positionVec3 = AGKLUA_CheckNumber(L, 2);
	int rotationVec3 = AGKLUA_CheckNumber(L, 3);
	int sizeVec3 = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::AddObjectShapeBox(objID, positionVec3, rotationVec3, sizeVec3);
	return 0;
}
int AGKLua_AddObjectShapeSphere(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int positionVec3 = AGKLUA_CheckNumber(L, 2);
	float diameter = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::AddObjectShapeSphere(objID, positionVec3, diameter);
	return 0;
}
int AGKLua_AddObjectShapeCapsule(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int positionVec3 = AGKLUA_CheckNumber(L, 2);
	int rotationVec3 = AGKLUA_CheckNumber(L, 3);
	int sizeVec3 = AGKLUA_CheckNumber(L, 4);
	int axis = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::AddObjectShapeCapsule(objID, positionVec3, rotationVec3, sizeVec3, axis);
	return 0;
}
int AGKLua_AddObjectShapeCone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int positionVec3 = AGKLUA_CheckNumber(L, 2);
	int rotationVec3 = AGKLUA_CheckNumber(L, 3);
	int sizeVec3 = AGKLUA_CheckNumber(L, 4);
	int axis = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::AddObjectShapeCone(objID, positionVec3, rotationVec3, sizeVec3, axis);
	return 0;
}
int AGKLua_AddObjectShapeCylinder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int positionVec3 = AGKLUA_CheckNumber(L, 2);
	int rotationVec3 = AGKLUA_CheckNumber(L, 3);
	int sizeVec3 = AGKLUA_CheckNumber(L, 4);
	int axis = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::AddObjectShapeCylinder(objID, positionVec3, rotationVec3, sizeVec3, axis);
	return 0;
}
int AGKLua_SaveObjectShape(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * fileName = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::SaveObjectShape(objID, fileName);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadObjectShape(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * fileName = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::LoadObjectShape(objID, fileName);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CreateVector3(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float z = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	int result = agk::CreateVector3(x, y, z);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetVector3(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int vectorID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetVector3(vectorID, x, y, z);
	return 0;
}
int AGKLua_DeleteVector3(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int vectorID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteVector3(vectorID);
	return 0;
}
int AGKLua_GetVector3X(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int vectorID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetVector3X(vectorID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVector3Y(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int vectorID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetVector3Y(vectorID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVector3Z(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int vectorID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetVector3Z(vectorID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVector3Distance(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int vectorU = AGKLUA_CheckNumber(L, 1);
	int vectorV = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetVector3Distance(vectorU, vectorV);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVector3Length(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int vectorID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetVector3Length(vectorID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVector3Dot(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int vectorU = AGKLUA_CheckNumber(L, 1);
	int vectorV = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	float result = agk::GetVector3Dot(vectorU, vectorV);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVector3Cross(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int resultVec = AGKLUA_CheckNumber(L, 1);
	int vectorU = AGKLUA_CheckNumber(L, 2);
	int vectorV = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::GetVector3Cross(resultVec, vectorU, vectorV);
	return 0;
}
int AGKLua_GetVector3Multiply(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int resultVec = AGKLUA_CheckNumber(L, 1);
	float multiplier = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::GetVector3Multiply(resultVec, multiplier);
	return 0;
}
int AGKLua_GetVector3Add(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int resultVec = AGKLUA_CheckNumber(L, 1);
	int addVec = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::GetVector3Add(resultVec, addVec);
	return 0;
}
int AGKLua_Create3DPhysicsRay(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::Create3DPhysicsRay();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Delete3DPhysicsRay(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int rayID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Delete3DPhysicsRay(rayID);
	return 0;
}
int AGKLua_Ray3DPhysicsExist(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int rayID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Ray3DPhysicsExist(rayID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_RayCast3DPhysics(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int rayID = AGKLUA_CheckNumber(L, 1);
	int fromVec3ID = AGKLUA_CheckNumber(L, 2);
	int toVec3ID = AGKLUA_CheckNumber(L, 3);
	int allOrClosest = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::RayCast3DPhysics(rayID, fromVec3ID, toVec3ID, allOrClosest);
	return 0;
}
int AGKLua_RayCast3DPhysicsObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int rayID = AGKLUA_CheckNumber(L, 2);
	int fromVec3ID = AGKLUA_CheckNumber(L, 3);
	int toVec3ID = AGKLUA_CheckNumber(L, 4);
	int allOrClosest = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	int result = agk::RayCast3DPhysicsObject(objID, rayID, fromVec3ID, toVec3ID, allOrClosest);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsRayCastObjectHit(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int rayID = AGKLUA_CheckNumber(L, 1);
	float fractionIndex = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	int result = agk::Get3DPhysicsRayCastObjectHit(rayID, fractionIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsRayCastClosestObjectHit(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int rayID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DPhysicsRayCastClosestObjectHit(rayID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsRayCastFraction(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int rayID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DPhysicsRayCastFraction(rayID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsRayCastContactPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int rayID = AGKLUA_CheckNumber(L, 1);
	float fractionIndex = AGKLUA_CheckFloat(L, 2);
	int outVec3ID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::Get3DPhysicsRayCastContactPosition(rayID, fractionIndex, outVec3ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsRayCastClosestContactPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int rayID = AGKLUA_CheckNumber(L, 1);
	int outVec3ID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::Get3DPhysicsRayCastClosestContactPosition(rayID, outVec3ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsRayCastNormalVector(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int rayID = AGKLUA_CheckNumber(L, 1);
	int returnVec3ID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Get3DPhysicsRayCastNormalVector(rayID, returnVec3ID);
	return 0;
}
int AGKLua_Get3DPhysicsRayCastNumHits(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int rayID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DPhysicsRayCastNumHits(rayID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SphereCast3DPhysics(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int rayID = AGKLUA_CheckNumber(L, 1);
	int fromVec3ID = AGKLUA_CheckNumber(L, 2);
	int toVec3ID = AGKLUA_CheckNumber(L, 3);
	float radius = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SphereCast3DPhysics(rayID, fromVec3ID, toVec3ID, radius);
	return 0;
}
int AGKLua_SphereCast3DPhysicsObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int rayID = AGKLUA_CheckNumber(L, 2);
	int fromVec3ID = AGKLUA_CheckNumber(L, 3);
	int toVec3ID = AGKLUA_CheckNumber(L, 4);
	float radius = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	int result = agk::SphereCast3DPhysicsObject(objID, rayID, fromVec3ID, toVec3ID, radius);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Create3DPhysicsRagDoll(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float objTotalWeight = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Create3DPhysicsRagDoll(objID, objTotalWeight);
	return 0;
}
int AGKLua_Add3DPhysicsRagDollBone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int startBoneID = AGKLUA_CheckNumber(L, 1);
	int endBoneID = AGKLUA_CheckNumber(L, 2);
	float diameter = AGKLUA_CheckFloat(L, 3);
	int collisionGroup = AGKLUA_CheckNumber(L, 4);
	int collisionMask = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	int result = agk::Add3DPhysicsRagDollBone(startBoneID, endBoneID, diameter, collisionGroup, collisionMask);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_AssignTo3DPhysicsRagDollBoneObjectBone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ragdollBoneID = AGKLUA_CheckNumber(L, 1);
	int objBoneID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::AssignTo3DPhysicsRagDollBoneObjectBone(ragdollBoneID, objBoneID);
	return 0;
}
int AGKLua_Add3DPhysicsRagDollHingeJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int boneAID = AGKLUA_CheckNumber(L, 1);
	int boneBID = AGKLUA_CheckNumber(L, 2);
	int objBoneID = AGKLUA_CheckNumber(L, 3);
	int jointRotationVec3 = AGKLUA_CheckNumber(L, 4);
	float minLimit = AGKLUA_CheckFloat(L, 5);
	float maxLimit = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::Add3DPhysicsRagDollHingeJoint(boneAID, boneBID, objBoneID, jointRotationVec3, minLimit, maxLimit);
	return 0;
}
int AGKLua_Add3DPhysicsRagDollTwistJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int boneAID = AGKLUA_CheckNumber(L, 1);
	int boneBID = AGKLUA_CheckNumber(L, 2);
	int objBoneID = AGKLUA_CheckNumber(L, 3);
	int jointRotationVec3 = AGKLUA_CheckNumber(L, 4);
	int limitsVec3 = AGKLUA_CheckNumber(L, 5);

	// Call function and push result
	agk::Add3DPhysicsRagDollTwistJoint(boneAID, boneBID, objBoneID, jointRotationVec3, limitsVec3);
	return 0;
}
int AGKLua_Finalize3DPhysicsRagDoll(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::Finalize3DPhysicsRagDoll();
	return 0;
}
int AGKLua_Delete3DPhysicsRagdoll(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Delete3DPhysicsRagdoll(objID);
	return 0;
}
int AGKLua_Get3DPhysicsRagdollExist(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DPhysicsRagdollExist(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsRagdollFromBoneObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DPhysicsRagdollFromBoneObject(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Is3dPhysicsRagdollStatic(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Is3dPhysicsRagdollStatic(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Set3DphysicsRagdollStatic(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int isStatic = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DphysicsRagdollStatic(objID, isStatic);
	return 0;
}
int AGKLua_Set3DPhysicsRagdollBonesVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int isVisible = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DPhysicsRagdollBonesVisible(objID, isVisible);
	return 0;
}
int AGKLua_Set3DPhysicsRagdollDamping(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float linear = AGKLUA_CheckFloat(L, 1);
	float angular = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsRagdollDamping(linear, angular);
	return 0;
}
int AGKLua_Set3DPhysicsRagdollSleepingThresholds(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float linear = AGKLUA_CheckFloat(L, 1);
	float angular = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsRagdollSleepingThresholds(linear, angular);
	return 0;
}
int AGKLua_Set3DPhysicsRagdollDeactivationTime(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float time = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::Set3DPhysicsRagdollDeactivationTime(time);
	return 0;
}
int AGKLua_Set3DPhysicsRagdollDeactivation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int isDisabled = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DPhysicsRagdollDeactivation(objID, isDisabled);
	return 0;
}
int AGKLua_Create3DPhysicsCharacterController(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	int axis = AGKLUA_CheckNumber(L, 2);
	int objOffsetVec3 = AGKLUA_CheckNumber(L, 3);
	int objOrientationVec3 = AGKLUA_CheckNumber(L, 4);
	float crouchScale = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::Create3DPhysicsCharacterController(objID, axis, objOffsetVec3, objOrientationVec3, crouchScale);
	return 0;
}
int AGKLua_Delete3DPhysicsCharacterController(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Delete3DPhysicsCharacterController(objID);
	return 0;
}
int AGKLua_Get3DPhysicsCharacterControllerExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DPhysicsCharacterControllerExists(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Set3DPhysicsCharacterControllerGravity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float gravity = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsCharacterControllerGravity(objID, gravity);
	return 0;
}
int AGKLua_Set3DPhysicsCharacterControllerFallSpeed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float fallSpeed = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsCharacterControllerFallSpeed(objID, fallSpeed);
	return 0;
}
int AGKLua_Set3DPhysicsCharacterControllerJumpSpeed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float jumpSpeed = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsCharacterControllerJumpSpeed(objID, jumpSpeed);
	return 0;
}
int AGKLua_Set3DPhysicsCharacterControllerMaxSlope(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float maxSlopeDegress = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsCharacterControllerMaxSlope(objID, maxSlopeDegress);
	return 0;
}
int AGKLua_Set3DPhysicsCharacterControllerStepHeight(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float stepHeight = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DPhysicsCharacterControllerStepHeight(objID, stepHeight);
	return 0;
}
int AGKLua_Get3DPhysicsCharacterControllerMaxSlope(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DPhysicsCharacterControllerMaxSlope(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DPhysicsCharacterControllerGravity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DPhysicsCharacterControllerGravity(objID);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_Move3DPhysicsCharacterController(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 3);
int objID = AGKLUA_CheckNumber(L, 1);
int direction = AGKLUA_CheckNumber(L, 2);
float velocity = AGKLUA_CheckFloat(L, 3);

// Call function and push result
agk::Move3DPhysicsCharacterController(objID,direction,velocity);
return 0;
}
*/
int AGKLua_Move3DPhysicsCharacterController(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float z = AGKLUA_CheckFloat(L, 3);
	float velocity = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::Move3DPhysicsCharacterController(objID, x, z, velocity);
	return 0;
}
int AGKLua_Rotate3DPhysicsCharacterController(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	float angle = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Rotate3DPhysicsCharacterController(objID, angle);
	return 0;
}
int AGKLua_Jump3DPhysicsCharacterController(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Jump3DPhysicsCharacterController(objID);
	return 0;
}
int AGKLua_Crouch3DPhysicsCharacterController(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Crouch3DPhysicsCharacterController(objID);
	return 0;
}
int AGKLua_Stand3DPhysicsCharacterController(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Stand3DPhysicsCharacterController(objID);
	return 0;
}
int AGKLua_Debug3DPhysicsCharacterController(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int isDebug = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Debug3DPhysicsCharacterController(objID, isDebug);
	return 0;
}
int AGKLua_Set3DPhysicsCharacterControllerPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	float posX = AGKLUA_CheckFloat(L, 2);
	float posY = AGKLUA_CheckFloat(L, 3);
	float posZ = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::Set3DPhysicsCharacterControllerPosition(objID, posX, posY, posZ);
	return 0;
}
int AGKLua_SetWindowPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int x = AGKLUA_CheckNumber(L, 1);
	int y = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetWindowPosition(x, y);
	return 0;
}
int AGKLua_SetWindowSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int width = AGKLUA_CheckNumber(L, 1);
	int height = AGKLUA_CheckNumber(L, 2);
	int fullscreen = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetWindowSize(width, height, fullscreen);
	return 0;
}
int AGKLua_SetWindowAllowResize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetWindowAllowResize(mode);
	return 0;
}
int AGKLua_MaximizeWindow(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::MaximizeWindow();
	return 0;
}
int AGKLua_MinimizeApp(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::MinimizeApp();
	return 0;
}
int AGKLua_RestoreApp(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::RestoreApp();
	return 0;
}
int AGKLua_SetImmersiveMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetImmersiveMode(mode);
	return 0;
}
int AGKLua_SetScreenResolution(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int width = AGKLUA_CheckNumber(L, 1);
	int height = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetScreenResolution(width, height);
	return 0;
}
int AGKLua_GetDeviceName(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetDeviceName();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetDeviceBaseName(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetDeviceBaseName();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetDeviceType(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetDeviceType();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetAppName(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetAppName();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetDeviceLanguage(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetDeviceLanguage();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetSleepMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSleepMode(mode);
	return 0;
}
int AGKLua_SetExpansionFileKey(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * key = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetExpansionFileKey(key);
	return 0;
}
int AGKLua_SetExpansionFileVersion(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int version = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetExpansionFileVersion(version);
	return 0;
}
int AGKLua_GetExpansionFileState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetExpansionFileState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DownloadExpansionFile(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::DownloadExpansionFile();
	return 0;
}
int AGKLua_GetExpansionFileProgress(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetExpansionFileProgress();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetWindowTitle(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szTitle = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetWindowTitle(szTitle);
	return 0;
}
int AGKLua_Sleep(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int milliseconds = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Sleep(milliseconds);
	return 0;
}
int AGKLua_SetVSync(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetVSync(mode);
	return 0;
}
int AGKLua_GetMaxDeviceWidth(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetMaxDeviceWidth();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMaxDeviceHeight(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetMaxDeviceHeight();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDeviceDPI(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetDeviceDPI();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetAppPackageName(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetAppPackageName();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetDevicePlatform(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetDevicePlatform();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Sin(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::Sin(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Cos(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::Cos(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Tan(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::Tan(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SinRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::SinRad(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CosRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::CosRad(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TanRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::TanRad(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ASin(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::ASin(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ACos(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::ACos(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ATan(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::ATan(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ATan2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float y = AGKLUA_CheckFloat(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	float result = agk::ATan2(y, x);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ASinRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::ASinRad(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ACosRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::ACosRad(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ATanRad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::ATanRad(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ATan2Rad(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float y = AGKLUA_CheckFloat(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	float result = agk::ATan2Rad(y, x);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Trunc(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::Trunc(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Floor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::Floor(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Ceil(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::Ceil(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Round(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	int result = agk::Round(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Sqrt(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::Sqrt(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Abs(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float a = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	float result = agk::Abs(a);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Mod(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int a = AGKLUA_CheckNumber(L, 1);
	int b = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::Mod(a, b);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_FMod(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float a = AGKLUA_CheckFloat(L, 1);
	float b = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	float result = agk::FMod(a, b);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Pow(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float a = AGKLUA_CheckFloat(L, 1);
	float b = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	float result = agk::Pow(a, b);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetNumDeviceCameras(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetNumDeviceCameras();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetDeviceCameraToImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::SetDeviceCameraToImage(cameraID, imageID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDeviceCameraType(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetDeviceCameraType(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_VibrateDevice(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float seconds = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::VibrateDevice(seconds);
	return 0;
}
int AGKLua_LoadVideo(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFilename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::LoadVideo(szFilename);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteVideo(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::DeleteVideo();
	return 0;
}
int AGKLua_SetVideoDimensions(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float width = AGKLUA_CheckFloat(L, 3);
	float height = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetVideoDimensions(x, y, width, height);
	return 0;
}
int AGKLua_PlayVideoToImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::PlayVideoToImage(imageID);
	return 0;
}
int AGKLua_PlayVideo(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::PlayVideo();
	return 0;
}
int AGKLua_PauseVideo(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::PauseVideo();
	return 0;
}
int AGKLua_StopVideo(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::StopVideo();
	return 0;
}
int AGKLua_GetVideoPlaying(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetVideoPlaying();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVideoPosition(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetVideoPosition();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVideoDuration(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetVideoDuration();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetVideoVolume(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float volume = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetVideoVolume(volume);
	return 0;
}
int AGKLua_GetVideoWidth(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetVideoWidth();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetVideoHeight(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetVideoHeight();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetVideoPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float seconds = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetVideoPosition(seconds);
	return 0;
}
int AGKLua_SetRawWritePath(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * str = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetRawWritePath(str);
	return 0;
}
int AGKLua_GetWritePath(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetWritePath();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetReadPath(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetReadPath();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetDocumentsPath(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetDocumentsPath();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetCurrentDir(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szPath = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::SetCurrentDir(szPath);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_MakeFolder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szName = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::MakeFolder(szName);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteFolder(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szName = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::DeleteFolder(szName);
	return 0;
}
int AGKLua_GetMultiTouchExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetMultiTouchExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMouseExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetMouseExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetKeyboardExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetKeyboardExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetCameraExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetGPSSensorExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetGPSSensorExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetRawMouseVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int visible = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetRawMouseVisible(visible);
	return 0;
}
int AGKLua_SetRawMousePosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetRawMousePosition(x, y);
	return 0;
}
int AGKLua_GetUnixTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetUnixTime();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDayOfWeek(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetDayOfWeek();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCurrentDate(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetCurrentDate();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetCurrentTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetCurrentTime();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_OpenBrowser(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * url = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::OpenBrowser(url);
	return 0;
}
int AGKLua_RunApp(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szFilename = AGKLUA_CheckString(L, 1);
	const char * szParameters = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::RunApp(szFilename, szParameters);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetAppRunning(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int appID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetAppRunning(appID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_TerminateApp(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int appID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::TerminateApp(appID);
	return 0;
}
int AGKLua_ViewFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFilename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::ViewFile(szFilename);
	return 0;
}
int AGKLua_ShareText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szText = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::ShareText(szText);
	return 0;
}
int AGKLua_ShareImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFilename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::ShareImage(szFilename);
	return 0;
}
int AGKLua_ShareImageAndText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szFilename = AGKLUA_CheckString(L, 1);
	const char * szText = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::ShareImageAndText(szFilename, szText);
	return 0;
}
int AGKLua_FacebookActivateAppTracking(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::FacebookActivateAppTracking();
	return 0;
}
int AGKLua_GetInternetState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetInternetState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetPushNotificationKeys(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * data1 = AGKLUA_CheckString(L, 1);
	const char * reserved = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SetPushNotificationKeys(data1, reserved);
	return 0;
}
int AGKLua_PushNotificationSetup(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::PushNotificationSetup();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetPushNotificationToken(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetPushNotificationToken();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetNotificationType(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetNotificationType();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetNotificationImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iImageIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetNotificationImage(iImageIndex);
	return 0;
}
int AGKLua_SetNotificationText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * pText = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetNotificationText(pText);
	return 0;
}
int AGKLua_GetNFCExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetNFCExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_StartGPSTracking(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::StartGPSTracking();
	return 0;
}
int AGKLua_StopGPSTracking(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::StopGPSTracking();
	return 0;
}
int AGKLua_GetRawGPSLatitude(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawGPSLatitude();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawGPSLongitude(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawGPSLongitude();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawGPSAltitude(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetRawGPSAltitude();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetGameCenterExists(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetGameCenterExists();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GameCenterSetup(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::GameCenterSetup();
	return 0;
}
int AGKLua_GameCenterLogin(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::GameCenterLogin();
	return 0;
}
int AGKLua_GetGameCenterLoggedIn(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetGameCenterLoggedIn();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetGameCenterPlayerID(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetGameCenterPlayerID();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetGameCenterPlayerDisplayName(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetGameCenterPlayerDisplayName();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GameCenterSubmitScore(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iScore = AGKLUA_CheckNumber(L, 1);
	const char * szBoardID = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::GameCenterSubmitScore(iScore, szBoardID);
	return 0;
}
int AGKLua_GameCenterShowLeaderBoard(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szBoardID = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::GameCenterShowLeaderBoard(szBoardID);
	return 0;
}
int AGKLua_GameCenterSubmitAchievement(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szAchievementID = AGKLUA_CheckString(L, 1);
	int iPercentageComplete = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::GameCenterSubmitAchievement(szAchievementID, iPercentageComplete);
	return 0;
}
int AGKLua_GameCenterAchievementsShow(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::GameCenterAchievementsShow();
	return 0;
}
int AGKLua_GameCenterAchievementsReset(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::GameCenterAchievementsReset();
	return 0;
}
int AGKLua_SetSharedVariableAppGroup(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * group = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetSharedVariableAppGroup(group);
	return 0;
}
int AGKLua_SaveSharedVariable(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * varName = AGKLUA_CheckString(L, 1);
	const char * varValue = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SaveSharedVariable(varName, varValue);
	return 0;
}
int AGKLua_LoadSharedVariable(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * varName = AGKLUA_CheckString(L, 1);
	const char * defaultValue = AGKLUA_CheckString(L, 2);

	// Call function and push result
	char * result = agk::LoadSharedVariable(varName, defaultValue);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_DeleteSharedVariable(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * varName = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::DeleteSharedVariable(varName);
	return 0;
}
int AGKLua_FirebaseSetup(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::FirebaseSetup();
	return 0;
}
int AGKLua_FirebaseLogEvent(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * event_name = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::FirebaseLogEvent(event_name);
	return 0;
}
int AGKLua_IsSupportedDepthTexture(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::IsSupportedDepthTexture();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetAntialiasMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetAntialiasMode(mode);
	return 0;
}
int AGKLua_RenderShadowMap(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::RenderShadowMap();
	return 0;
}
int AGKLua_SetNetworkAllowClients(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetNetworkAllowClients(iNetID);
	return 0;
}
int AGKLua_KickNetworkClient(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::KickNetworkClient(iNetID, client);
	return 0;
}
int AGKLua_SetObjectCastShadow(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectCastShadow(objID, mode);
	return 0;
}
int AGKLua_SetObjectReceiveShadow(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectReceiveShadow(objID, mode);
	return 0;
}
int AGKLua_GetObjectCastShadowMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectCastShadowMode(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectReceiveShadowMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectReceiveShadowMode(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetShadowMappingSupported(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetShadowMappingSupported();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetShadowMappingMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetShadowMappingMode(mode);
	return 0;
}
int AGKLua_GetShadowMappingMode(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetShadowMappingMode();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetShadowMapSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int width = AGKLUA_CheckNumber(L, 1);
	int height = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetShadowMapSize(width, height);
	return 0;
}
int AGKLua_SetShadowRange(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float range = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetShadowRange(range);
	return 0;
}
int AGKLua_SetShadowBias(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float bias = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetShadowBias(bias);
	return 0;
}
int AGKLua_SetShadowLightStepSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float step = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetShadowLightStepSize(step);
	return 0;
}
int AGKLua_SetShadowSmoothing(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetShadowSmoothing(mode);
	return 0;
}
int AGKLua_GetShadowPolygonsDrawn(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetShadowPolygonsDrawn();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_LoadShaderFromString(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szVertexSource = AGKLUA_CheckString(L, 1);
	const char * szPixelSource = AGKLUA_CheckString(L, 2);

	// Call function and push result
	int result = agk::LoadShaderFromString(szVertexSource, szPixelSource);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Create3DParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	float z = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	int result = agk::Create3DParticles(x, y, z);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DParticlesExists(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Delete3DParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Delete3DParticles(ID);
	return 0;
}
int AGKLua_Set3DParticlesPosition(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int ID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::Set3DParticlesPosition(ID, x, y, z);
	return 0;
}
int AGKLua_Set3DParticlesFrequency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float freq = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DParticlesFrequency(ID, freq);
	return 0;
}
int AGKLua_Set3DParticlesStartZone(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int ID = AGKLUA_CheckNumber(L, 1);
	float x1 = AGKLUA_CheckFloat(L, 2);
	float y1 = AGKLUA_CheckFloat(L, 3);
	float z1 = AGKLUA_CheckFloat(L, 4);
	float x2 = AGKLUA_CheckFloat(L, 5);
	float y2 = AGKLUA_CheckFloat(L, 6);
	float z2 = AGKLUA_CheckFloat(L, 7);

	// Call function and push result
	agk::Set3DParticlesStartZone(ID, x1, y1, z1, x2, y2, z2);
	return 0;
}
int AGKLua_Set3DParticlesDirection(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int ID = AGKLUA_CheckNumber(L, 1);
	float vx = AGKLUA_CheckFloat(L, 2);
	float vy = AGKLUA_CheckFloat(L, 3);
	float vz = AGKLUA_CheckFloat(L, 4);
	float roll = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::Set3DParticlesDirection(ID, vx, vy, vz, roll);
	return 0;
}
int AGKLua_Set3DParticlesVelocityRange(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float v1 = AGKLUA_CheckFloat(L, 2);
	float v2 = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::Set3DParticlesVelocityRange(ID, v1, v2);
	return 0;
}
int AGKLua_Set3DParticlesDirectionRange(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float angle = AGKLUA_CheckFloat(L, 2);
	float angle2 = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::Set3DParticlesDirectionRange(ID, angle, angle2);
	return 0;
}
int AGKLua_Set3DParticlesSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float size = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DParticlesSize(ID, size);
	return 0;
}
int AGKLua_Set3DParticlesLife(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Set3DParticlesLife(ID, time);
	return 0;
}
int AGKLua_Set3DParticlesMax(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int max = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DParticlesMax(ID, max);
	return 0;
}
int AGKLua_Reset3DParticleCount(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Reset3DParticleCount(ID);
	return 0;
}
int AGKLua_Set3DParticlesImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DParticlesImage(ID, imageID);
	return 0;
}
int AGKLua_Set3DParticlesVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int visible = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DParticlesVisible(ID, visible);
	return 0;
}
int AGKLua_Set3DParticlesActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int active = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DParticlesActive(ID, active);
	return 0;
}
int AGKLua_Set3DParticlesTransparency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int active = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DParticlesTransparency(ID, active);
	return 0;
}
int AGKLua_Set3DParticlesColorInterpolation(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	int mode = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Set3DParticlesColorInterpolation(ID, mode);
	return 0;
}
int AGKLua_Get3DParticlesX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesX(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesY(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesZ(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DParticlesVisible(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesActive(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DParticlesActive(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesFrequency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesFrequency(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesDirectionX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesDirectionX(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesDirectionY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesDirectionY(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesDirectionZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesDirectionZ(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesDirectionRange1(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesDirectionRange1(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesDirectionRange2(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesDirectionRange2(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesSize(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesSize(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesLife(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::Get3DParticlesLife(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Get3DParticlesMaxReached(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::Get3DParticlesMaxReached(ID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_Add3DParticlesForce(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int ID = AGKLUA_CheckNumber(L, 1);
	float starttime = AGKLUA_CheckFloat(L, 2);
	float endtime = AGKLUA_CheckFloat(L, 3);
	float x = AGKLUA_CheckFloat(L, 4);
	float y = AGKLUA_CheckFloat(L, 5);
	float z = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::Add3DParticlesForce(ID, starttime, endtime, x, y, z);
	return 0;
}
int AGKLua_Clear3DParticlesForces(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Clear3DParticlesForces(ID);
	return 0;
}
int AGKLua_Add3DParticlesColorKeyFrame(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int ID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);
	int red = AGKLUA_CheckNumber(L, 3);
	int green = AGKLUA_CheckNumber(L, 4);
	int blue = AGKLUA_CheckNumber(L, 5);
	int alpha = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	agk::Add3DParticlesColorKeyFrame(ID, time, red, green, blue, alpha);
	return 0;
}
int AGKLua_Clear3DParticlesColors(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Clear3DParticlesColors(ID);
	return 0;
}
int AGKLua_Add3DParticlesScaleKeyFrame(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int ID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);
	float scale = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::Add3DParticlesScaleKeyFrame(ID, time, scale);
	return 0;
}
int AGKLua_Clear3DParticlesScales(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Clear3DParticlesScales(ID);
	return 0;
}
int AGKLua_Update3DParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int ID = AGKLUA_CheckNumber(L, 1);
	float time = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::Update3DParticles(ID, time);
	return 0;
}
int AGKLua_Offset3DParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int ID = AGKLUA_CheckNumber(L, 1);
	float x = AGKLUA_CheckFloat(L, 2);
	float y = AGKLUA_CheckFloat(L, 3);
	float z = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::Offset3DParticles(ID, x, y, z);
	return 0;
}
int AGKLua_SetMeshMemblockVertexColor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);
	int red = AGKLUA_CheckNumber(L, 3);
	int green = AGKLUA_CheckNumber(L, 4);
	int blue = AGKLUA_CheckNumber(L, 5);
	int alpha = AGKLUA_CheckNumber(L, 6);

	// Call function and push result
	agk::SetMeshMemblockVertexColor(memID, vertexIndex, red, green, blue, alpha);
	return 0;
}
int AGKLua_GetMeshMemblockVertexRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetMeshMemblockVertexRed(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetMeshMemblockVertexGreen(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetMeshMemblockVertexBlue(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetMeshMemblockVertexAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int memID = AGKLUA_CheckNumber(L, 1);
	int vertexIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetMeshMemblockVertexAlpha(memID, vertexIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectMeshNormalMap(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int imageID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectMeshNormalMap(objID, meshIndex, imageID);
	return 0;
}
int AGKLua_SetObjectNormalMap(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int imageID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectNormalMap(objID, imageID);
	return 0;
}
int AGKLua_SetObjectNormalMapScale(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	float scaleU = AGKLUA_CheckFloat(L, 2);
	float scaleV = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetObjectNormalMapScale(objID, scaleU, scaleV);
	return 0;
}
int AGKLua_SetObjectMeshNormalMapScale(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	float scaleU = AGKLUA_CheckFloat(L, 3);
	float scaleV = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectMeshNormalMapScale(objID, meshIndex, scaleU, scaleV);
	return 0;
}
int AGKLua_StartScreenRecording(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szFilename = AGKLUA_CheckString(L, 1);
	int microphone = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::StartScreenRecording(szFilename, microphone);
	return 0;
}
int AGKLua_StopScreenRecording(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::StopScreenRecording();
	return 0;
}
int AGKLua_IsScreenRecording(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::IsScreenRecording();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteShader(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int shaderID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteShader(shaderID);
	return 0;
}
int AGKLua_ActivateSmartWatch(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szReserved = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::ActivateSmartWatch(szReserved);
	return 0;
}
int AGKLua_GetSmartWatchState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetSmartWatchState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SendSmartWatchData(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szJson = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SendSmartWatchData(szJson);
	return 0;
}
int AGKLua_ReceiveSmartWatchData(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::ReceiveSmartWatchData();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_TextToSpeechSetup(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::TextToSpeechSetup();
	return 0;
}
int AGKLua_GetTextToSpeechReady(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetTextToSpeechReady();
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_Speak(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 1);
const char * text = AGKLUA_CheckString(L, 1);

// Call function and push result
agk::Speak(text);
return 0;
}
*/
int AGKLua_Speak(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * text = AGKLUA_CheckString(L, 1);
	int delay = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::Speak(text, delay);
	return 0;
}
int AGKLua_SetSpeechRate(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	float rate = AGKLUA_CheckFloat(L, 1);

	// Call function and push result
	agk::SetSpeechRate(rate);
	return 0;
}
int AGKLua_SetSpeechLanguage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * lang = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetSpeechLanguage(lang);
	return 0;
}
int AGKLua_IsSpeaking(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::IsSpeaking();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_StopSpeaking(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::StopSpeaking();
	return 0;
}
int AGKLua_GetSpriteTransparency(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteTransparency(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSpriteShapeChain(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int numPoints = AGKLUA_CheckNumber(L, 2);
	int index = AGKLUA_CheckNumber(L, 3);
	int loop = AGKLUA_CheckNumber(L, 4);
	float x = AGKLUA_CheckFloat(L, 5);
	float y = AGKLUA_CheckFloat(L, 6);
	int shapeID = AGKLUA_CheckNumber(L, 7);

	// Call function and push result
	agk::SetSpriteShapeChain(iSpriteIndex, numPoints, index, loop, x, y, shapeID);
	return 0;
}
int AGKLua_AddSpriteShapeChain(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int numPoints = AGKLUA_CheckNumber(L, 2);
	int index = AGKLUA_CheckNumber(L, 3);
	int loop = AGKLUA_CheckNumber(L, 4);
	float x = AGKLUA_CheckFloat(L, 5);
	float y = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::AddSpriteShapeChain(iSpriteIndex, numPoints, index, loop, x, y);
	return 0;
}
int AGKLua_GetSpriteNumShapes(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteNumShapes(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteShapeNumVertices(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int shapeID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetSpriteShapeNumVertices(iSpriteIndex, shapeID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteShapeVertexX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int shapeID = AGKLUA_CheckNumber(L, 2);
	int vertex = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	float result = agk::GetSpriteShapeVertexX(iSpriteIndex, shapeID, vertex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteShapeVertexY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	int shapeID = AGKLUA_CheckNumber(L, 2);
	int vertex = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	float result = agk::GetSpriteShapeVertexY(iSpriteIndex, shapeID, vertex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpritePhysicsCOMX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpritePhysicsCOMX(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpritePhysicsCOMY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetSpritePhysicsCOMY(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSpritePhysicsDensity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);
	float density = AGKLUA_CheckFloat(L, 2);
	int shapeID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetSpritePhysicsDensity(iSpriteIndex, density, shapeID);
	return 0;
}
int AGKLua_CreateRopeJoint(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 8);
	int iSpriteIndex1 = AGKLUA_CheckNumber(L, 1);
	int iSpriteIndex2 = AGKLUA_CheckNumber(L, 2);
	float x = AGKLUA_CheckFloat(L, 3);
	float y = AGKLUA_CheckFloat(L, 4);
	float x2 = AGKLUA_CheckFloat(L, 5);
	float y2 = AGKLUA_CheckFloat(L, 6);
	float maxLength = AGKLUA_CheckFloat(L, 7);
	int colConnected = AGKLUA_CheckNumber(L, 8);

	// Call function and push result
	int result = agk::CreateRopeJoint(iSpriteIndex1, iSpriteIndex2, x, y, x2, y2, maxLength, colConnected);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetJointMouseMaxForce(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);
	float maxForce = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	agk::SetJointMouseMaxForce(iJointIndex, maxForce);
	return 0;
}
int AGKLua_SetJointDamping(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iJointIndex = AGKLUA_CheckNumber(L, 1);
	float dampingRatio = AGKLUA_CheckFloat(L, 2);
	float frequency = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetJointDamping(iJointIndex, dampingRatio, frequency);
	return 0;
}
int AGKLua_PauseTweenCustom(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::PauseTweenCustom(tweenID);
	return 0;
}
int AGKLua_ResumeTweenCustom(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int tweenID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ResumeTweenCustom(tweenID);
	return 0;
}
int AGKLua_PauseTweenSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int spriteID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::PauseTweenSprite(tweenID, spriteID);
	return 0;
}
int AGKLua_ResumeTweenSprite(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int spriteID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::ResumeTweenSprite(tweenID, spriteID);
	return 0;
}
int AGKLua_PauseTweenText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::PauseTweenText(tweenID, textID);
	return 0;
}
int AGKLua_ResumeTweenText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::ResumeTweenText(tweenID, textID);
	return 0;
}
int AGKLua_PauseTweenChar(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);
	int charID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::PauseTweenChar(tweenID, textID, charID);
	return 0;
}
int AGKLua_ResumeTweenChar(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int textID = AGKLUA_CheckNumber(L, 2);
	int charID = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::ResumeTweenChar(tweenID, textID, charID);
	return 0;
}
int AGKLua_PauseTweenObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int objectID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::PauseTweenObject(tweenID, objectID);
	return 0;
}
int AGKLua_ResumeTweenObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int objectID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::ResumeTweenObject(tweenID, objectID);
	return 0;
}
int AGKLua_PauseTweenCamera(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::PauseTweenCamera(tweenID, cameraID);
	return 0;
}
int AGKLua_ResumeTweenCamera(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int tweenID = AGKLUA_CheckNumber(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::ResumeTweenCamera(tweenID, cameraID);
	return 0;
}
int AGKLua_GetNetworkExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkExists(iNetID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectBlendModes(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int src = AGKLUA_CheckNumber(L, 2);
	int dst = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectBlendModes(objID, src, dst);
	return 0;
}
int AGKLua_GetShaderExists(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int shaderID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetShaderExists(shaderID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetTextAlignment(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetTextAlignment(iTextIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetupCloudData(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * reserved = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetupCloudData(reserved);
	return 0;
}
int AGKLua_GetCloudDataAllowed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetCloudDataAllowed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCloudDataChanged(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetCloudDataChanged();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCloudDataVariable(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * varName = AGKLUA_CheckString(L, 1);
	const char * defaultValue = AGKLUA_CheckString(L, 2);

	// Call function and push result
	char * result = agk::GetCloudDataVariable(varName, defaultValue);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetCloudDataVariable(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * varName = AGKLUA_CheckString(L, 1);
	const char * varValue = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::SetCloudDataVariable(varName, varValue);
	return 0;
}
int AGKLua_DeleteCloudDataVariable(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * varName = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::DeleteCloudDataVariable(varName);
	return 0;
}
int AGKLua_GetDeviceNetworkType(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetDeviceNetworkType();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetStorageRemaining(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * path = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::GetStorageRemaining(path);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetStorageTotal(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * path = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::GetStorageTotal(path);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CheckPermission(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szPermission = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::CheckPermission(szPermission);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_RequestPermission(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szPermission = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::RequestPermission(szPermission);
	return 0;
}
int AGKLua_DrawText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iTextIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DrawText(iTextIndex);
	return 0;
}
int AGKLua_SetShadowCascadeValues(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	float cascade1 = AGKLUA_CheckFloat(L, 1);
	float cascade2 = AGKLUA_CheckFloat(L, 2);
	float cascade3 = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::SetShadowCascadeValues(cascade1, cascade2, cascade3);
	return 0;
}
int AGKLua_ARSetup(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ARSetup();
	return 0;
}
int AGKLua_ARGetStatus(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::ARGetStatus();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARDestroy(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ARDestroy();
	return 0;
}
int AGKLua_ARControlCamera(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ARControlCamera();
	return 0;
}
int AGKLua_ARDrawBackground(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ARDrawBackground();
	return 0;
}
int AGKLua_ARSetPlaneDetectionMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ARSetPlaneDetectionMode(mode);
	return 0;
}
int AGKLua_ARSetLightEstimationMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ARSetLightEstimationMode(mode);
	return 0;
}
int AGKLua_ARGetLightEstimate(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::ARGetLightEstimate();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARHitTest(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	float screenX = AGKLUA_CheckFloat(L, 1);
	float screenY = AGKLUA_CheckFloat(L, 2);

	// Call function and push result
	int result = agk::ARHitTest(screenX, screenY);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetHitTestX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetHitTestX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetHitTestY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetHitTestY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetHitTestZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetHitTestZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetHitTestNormalX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetHitTestNormalX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetHitTestNormalY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetHitTestNormalY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetHitTestNormalZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetHitTestNormalZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetHitTestType(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::ARGetHitTestType(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARHitTestFinish(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ARHitTestFinish();
	return 0;
}
int AGKLua_ARGetPlanes(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int reserved = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::ARGetPlanes(reserved);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetPlaneX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetPlaneX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetPlaneY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetPlaneY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetPlaneZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetPlaneZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetPlaneAngleX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetPlaneAngleX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetPlaneAngleY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetPlaneAngleY(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetPlaneAngleZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetPlaneAngleZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetPlaneSizeX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetPlaneSizeX(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetPlaneSizeZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::ARGetPlaneSizeZ(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARGetPlanesFinish(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ARGetPlanesFinish();
	return 0;
}
int AGKLua_ARCreateAnchorFromHitTest(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::ARCreateAnchorFromHitTest(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARCreateAnchorFromPlane(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::ARCreateAnchorFromPlane(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARFixObjectToAnchor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int anchorID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::ARFixObjectToAnchor(objID, anchorID);
	return 0;
}
int AGKLua_ARGetAnchorStatus(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int anchorID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::ARGetAnchorStatus(anchorID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ARDeleteAnchor(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int anchorID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::ARDeleteAnchor(anchorID);
	return 0;
}
int AGKLua_DeleteObjectTree(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteObjectTree(objID);
	return 0;
}
int AGKLua_FixSpriteToSkeleton2D(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int spriteID = AGKLUA_CheckNumber(L, 1);
	int iSkeletonID = AGKLUA_CheckNumber(L, 2);
	int bone = AGKLUA_CheckNumber(L, 3);
	int zorder = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::FixSpriteToSkeleton2D(spriteID, iSkeletonID, bone, zorder);
	return 0;
}
int AGKLua_SetRawTouchMoveSensitivity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int distance = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetRawTouchMoveSensitivity(distance);
	return 0;
}
int AGKLua_OverrideConsentAdMob(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int consent = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::OverrideConsentAdMob(consent);
	return 0;
}
int AGKLua_LoadConsentStatusAdMob(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	const char * szPubID = AGKLUA_CheckString(L, 1);
	const char * privacyPolicy = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::LoadConsentStatusAdMob(szPubID, privacyPolicy);
	return 0;
}
int AGKLua_GetConsentStatusAdMob(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetConsentStatusAdMob();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_RequestConsentAdMob(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::RequestConsentAdMob();
	return 0;
}
int AGKLua_GetSupportedShaderVaryings(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetSupportedShaderVaryings();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpeechNumVoices(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetSpeechNumVoices();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpeechVoiceLanguage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetSpeechVoiceLanguage(index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetSpeechVoiceName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetSpeechVoiceName(index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_OverrideConsentChartboost(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int consent = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::OverrideConsentChartboost(consent);
	return 0;
}
int AGKLua_AddHTTPHeader(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int iHTTP = AGKLUA_CheckNumber(L, 1);
	const char * headerName = AGKLUA_CheckString(L, 2);
	const char * headerValue = AGKLUA_CheckString(L, 3);

	// Call function and push result
	agk::AddHTTPHeader(iHTTP, headerName, headerValue);
	return 0;
}
int AGKLua_RemoveHTTPHeader(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iHTTP = AGKLUA_CheckNumber(L, 1);
	const char * headerName = AGKLUA_CheckString(L, 2);

	// Call function and push result
	agk::RemoveHTTPHeader(iHTTP, headerName);
	return 0;
}
int AGKLua_GetHTTPStatusCode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iHTTP = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetHTTPStatusCode(iHTTP);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpeechVoiceID(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetSpeechVoiceID(index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetSpeechLanguageByID(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * sID = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetSpeechLanguageByID(sID);
	return 0;
}
int AGKLua_GetSpriteFlippedH(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteFlippedH(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteInScreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteInScreen(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSpriteFlippedV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSpriteIndex = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSpriteFlippedV(iSpriteIndex);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DrawParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DrawParticles(ID);
	return 0;
}
int AGKLua_Draw3DParticles(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int ID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::Draw3DParticles(ID);
	return 0;
}
int AGKLua_SetClipboardText(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szText = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::SetClipboardText(szText);
	return 0;
}
int AGKLua_GetClipboardText(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetClipboardText();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetEditBoxInputType(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int inputType = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetEditBoxInputType(index, inputType);
	return 0;
}
int AGKLua_GetExpansionFileError(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetExpansionFileError();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetSkeleton2DDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iSkeleton = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetSkeleton2DDepth(iSkeleton);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetEditBoxDepth(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetEditBoxDepth(index);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCharBuffer(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetCharBuffer();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetCharBufferLength(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetCharBufferLength();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickSlider(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int slider = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetRawJoystickSlider(index, slider);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickPOV(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int index = AGKLUA_CheckNumber(L, 1);
	int pov = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	int result = agk::GetRawJoystickPOV(index, pov);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CopyNetworkMessage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iFromMsgID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::CopyNetworkMessage(iFromMsgID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetURLSchemeText(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetURLSchemeText();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_SetObjectAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int alpha = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::SetObjectAlpha(objID, alpha);
	return 0;
}
int AGKLua_GetObjectColorRed(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectColorRed(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectColorGreen(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectColorGreen(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectColorBlue(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectColorBlue(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetObjectAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectAlpha(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_ClearURLSchemeText(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ClearURLSchemeText();
	return 0;
}
/*
int AGKLua_CreateObjectFromRawHeightMap(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 8);
const char * szFilename = AGKLUA_CheckString(L, 1);
float width = AGKLUA_CheckFloat(L, 2);
float height = AGKLUA_CheckFloat(L, 3);
float length = AGKLUA_CheckFloat(L, 4);
int smoothing = AGKLUA_CheckNumber(L, 5);
int split = AGKLUA_CheckNumber(L, 6);
int rawWidth = AGKLUA_CheckNumber(L, 7);
int rawHeight = AGKLUA_CheckNumber(L, 8);

// Call function and push result
int result = agk::CreateObjectFromRawHeightMap(szFilename,width,height,length,smoothing,split,rawWidth,rawHeight);
lua_pushnumber(L, result);
return 1;
}
*/
int AGKLua_CreateObjectFromRawHeightMap(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 9);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * szFilename = AGKLUA_CheckString(L, 2);
	float width = AGKLUA_CheckFloat(L, 3);
	float height = AGKLUA_CheckFloat(L, 4);
	float length = AGKLUA_CheckFloat(L, 5);
	int smoothing = AGKLUA_CheckNumber(L, 6);
	int split = AGKLUA_CheckNumber(L, 7);
	int rawWidth = AGKLUA_CheckNumber(L, 8);
	int rawHeight = AGKLUA_CheckNumber(L, 9);

	// Call function and push result
	agk::CreateObjectFromRawHeightMap(objID, szFilename, width, height, length, smoothing, split, rawWidth, rawHeight);
	return 0;
}
int AGKLua_SetObjectMeshCollisionMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int mode = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectMeshCollisionMode(objID, meshIndex, mode);
	return 0;
}
int AGKLua_SetObjectMeshVisible(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int mode = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectMeshVisible(objID, meshIndex, mode);
	return 0;
}
int AGKLua_GetObjectTextureName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int objID = AGKLUA_CheckNumber(L, 1);
	int textureIndex = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetObjectTextureName(objID, textureIndex);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetObjectNumTextures(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetObjectNumTextures(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawJoystickName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int index = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetRawJoystickName(index);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_PlayYoutubeVideo(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * developerKey = AGKLUA_CheckString(L, 1);
	const char * videoID = AGKLUA_CheckString(L, 2);
	float startTime = AGKLUA_CheckFloat(L, 3);

	// Call function and push result
	agk::PlayYoutubeVideo(developerKey, videoID, startTime);
	return 0;
}
int AGKLua_ShareFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * szFilename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	agk::ShareFile(szFilename);
	return 0;
}
int AGKLua_GetNetworkMessageFromPort(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iMsgID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkMessageFromPort(iMsgID);
	lua_pushnumber(L, result);
	return 1;
}
/*
int AGKLua_CreateUDPListener(lua_State *L)
{
// Get variables from lua
AGKLUA_CountArgs(L, 2);
const char * ip = AGKLUA_CheckString(L, 1);
int port = AGKLUA_CheckNumber(L, 2);

// Call function and push result
int result = agk::CreateUDPListener(ip,port);
lua_pushnumber(L, result);
return 1;
}
*/
int AGKLua_CreateUDPListener(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int listenerID = AGKLUA_CheckNumber(L, 1);
	const char * ip = AGKLUA_CheckString(L, 2);
	int port = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	int result = agk::CreateUDPListener(listenerID, ip, port);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SendUDPNetworkMessage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int listenerID = AGKLUA_CheckNumber(L, 1);
	int messageID = AGKLUA_CheckNumber(L, 2);
	const char * toIP = AGKLUA_CheckString(L, 3);
	int toPort = AGKLUA_CheckNumber(L, 4);

	// Call function and push result
	agk::SendUDPNetworkMessage(listenerID, messageID, toIP, toPort);
	return 0;
}
int AGKLua_GetUDPNetworkMessage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int listenerID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetUDPNetworkMessage(listenerID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_DeleteUDPListener(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int listenerID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::DeleteUDPListener(listenerID);
	return 0;
}
int AGKLua_ExtractZipASync(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	const char * zipfilename = AGKLUA_CheckString(L, 1);
	const char * path = AGKLUA_CheckString(L, 2);
	const char * password = AGKLUA_CheckString(L, 3);

	// Call function and push result
	agk::ExtractZipASync(zipfilename, path, password);
	return 0;
}
int AGKLua_GetZipExtractProgress(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetZipExtractProgress();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetZipExtractComplete(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetZipExtractComplete();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetWindowWidth(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetWindowWidth();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetWindowHeight(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetWindowHeight();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_CancelZipExtract(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::CancelZipExtract();
	return 0;
}
int AGKLua_GameCenterLogout(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::GameCenterLogout();
	return 0;
}
int AGKLua_GetImageSizeFromFile(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * filename = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::GetImageSizeFromFile(filename);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetObjectMeshCastShadow(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 3);
	int objID = AGKLUA_CheckNumber(L, 1);
	int meshIndex = AGKLUA_CheckNumber(L, 2);
	int mode = AGKLUA_CheckNumber(L, 3);

	// Call function and push result
	agk::SetObjectMeshCastShadow(objID, meshIndex, mode);
	return 0;
}
int AGKLua_SetObjectShaderConstantArrayFloatByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetObjectShaderConstantArrayFloatByName(objID, szName, arrayIndex, value);
	return 0;
}
int AGKLua_SetObjectShaderConstantArrayVec2ByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value1 = AGKLUA_CheckFloat(L, 4);
	float value2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetObjectShaderConstantArrayVec2ByName(objID, szName, arrayIndex, value1, value2);
	return 0;
}
int AGKLua_SetObjectShaderConstantArrayVec3ByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value1 = AGKLUA_CheckFloat(L, 4);
	float value2 = AGKLUA_CheckFloat(L, 5);
	float value3 = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::SetObjectShaderConstantArrayVec3ByName(objID, szName, arrayIndex, value1, value2, value3);
	return 0;
}
int AGKLua_SetObjectShaderConstantArrayVec4ByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int objID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value1 = AGKLUA_CheckFloat(L, 4);
	float value2 = AGKLUA_CheckFloat(L, 5);
	float value3 = AGKLUA_CheckFloat(L, 6);
	float value4 = AGKLUA_CheckFloat(L, 7);

	// Call function and push result
	agk::SetObjectShaderConstantArrayVec4ByName(objID, szName, arrayIndex, value1, value2, value3, value4);
	return 0;
}
int AGKLua_SetShaderErrorMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetShaderErrorMode(mode);
	return 0;
}
int AGKLua_SetShaderConstantArrayFloatByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	int shaderID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value = AGKLUA_CheckFloat(L, 4);

	// Call function and push result
	agk::SetShaderConstantArrayFloatByName(shaderID, szName, arrayIndex, value);
	return 0;
}
int AGKLua_SetShaderConstantArrayVec2ByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	int shaderID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value1 = AGKLUA_CheckFloat(L, 4);
	float value2 = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetShaderConstantArrayVec2ByName(shaderID, szName, arrayIndex, value1, value2);
	return 0;
}
int AGKLua_SetShaderConstantArrayVec3ByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 6);
	int shaderID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value1 = AGKLUA_CheckFloat(L, 4);
	float value2 = AGKLUA_CheckFloat(L, 5);
	float value3 = AGKLUA_CheckFloat(L, 6);

	// Call function and push result
	agk::SetShaderConstantArrayVec3ByName(shaderID, szName, arrayIndex, value1, value2, value3);
	return 0;
}
int AGKLua_SetShaderConstantArrayVec4ByName(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 7);
	int shaderID = AGKLUA_CheckNumber(L, 1);
	const char * szName = AGKLUA_CheckString(L, 2);
	int arrayIndex = AGKLUA_CheckNumber(L, 3);
	float value1 = AGKLUA_CheckFloat(L, 4);
	float value2 = AGKLUA_CheckFloat(L, 5);
	float value3 = AGKLUA_CheckFloat(L, 6);
	float value4 = AGKLUA_CheckFloat(L, 7);

	// Call function and push result
	agk::SetShaderConstantArrayVec4ByName(shaderID, szName, arrayIndex, value1, value2, value3, value4);
	return 0;
}
int AGKLua_GetObject3DPhysicsMaxLinearVelocity(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int objID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetObject3DPhysicsMaxLinearVelocity(objID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_IsInvertedDepth(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::IsInvertedDepth();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetClipSpaceMode(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetClipSpaceMode();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_IsTopLeftOrigin(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::IsTopLeftOrigin();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetDrawing3DSetupTime(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	float result = agk::GetDrawing3DSetupTime();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetColorAlpha(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int color = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetColorAlpha(color);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetPresentMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetPresentMode(mode);
	return 0;
}
int AGKLua_ForcePresent(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	agk::ForcePresent();
	return 0;
}
int AGKLua_GetAppInstalled(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * packageName = AGKLUA_CheckString(L, 1);

	// Call function and push result
	int result = agk::GetAppInstalled(packageName);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSnapChatStickerSettings(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 5);
	float x = AGKLUA_CheckFloat(L, 1);
	float y = AGKLUA_CheckFloat(L, 2);
	int width = AGKLUA_CheckNumber(L, 3);
	int height = AGKLUA_CheckNumber(L, 4);
	float angle = AGKLUA_CheckFloat(L, 5);

	// Call function and push result
	agk::SetSnapChatStickerSettings(x, y, width, height, angle);
	return 0;
}
int AGKLua_ShareSnapChatImage(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 4);
	const char * imageFile = AGKLUA_CheckString(L, 1);
	const char * stickerFile = AGKLUA_CheckString(L, 2);
	const char * caption = AGKLUA_CheckString(L, 3);
	const char * url = AGKLUA_CheckString(L, 4);

	// Call function and push result
	agk::ShareSnapChatImage(imageFile, stickerFile, caption, url);
	return 0;
}
int AGKLua_GetRendererName(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	char * result = agk::GetRendererName();
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetNetworkClientIP(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iNetID = AGKLUA_CheckNumber(L, 1);
	int client = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	char * result = agk::GetNetworkClientIP(iNetID, client);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetNetworkServerIP(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iNetID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	char * result = agk::GetNetworkServerIP(iNetID);
	lua_pushstring(L, result);
	return 1;
}
int AGKLua_GetRawMouseFourthPressed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseFourthPressed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseFourthState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseFourthState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseFourthReleased(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseFourthReleased();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseFifthPressed(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseFifthPressed();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseFifthState(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseFifthState();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetRawMouseFifthReleased(lua_State *L)
{
	// Get variables from lua

	// Call function and push result
	int result = agk::GetRawMouseFifthReleased();
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_SetSoundDeviceMode(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int mode = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	agk::SetSoundDeviceMode(mode);
	return 0;
}
int AGKLua_AddNetworkMessageByte(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int iMsgID = AGKLUA_CheckNumber(L, 1);
	int value = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::AddNetworkMessageByte(iMsgID, value);
	return 0;
}
int AGKLua_GetNetworkMessageByte(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int iMsgID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	int result = agk::GetNetworkMessageByte(iMsgID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraWorldX(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraWorldX(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraWorldY(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraWorldY(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_GetCameraWorldZ(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	int cameraID = AGKLUA_CheckNumber(L, 1);

	// Call function and push result
	float result = agk::GetCameraWorldZ(cameraID);
	lua_pushnumber(L, result);
	return 1;
}
int AGKLua_FixCameraToObject(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 2);
	int cameraID = AGKLUA_CheckNumber(L, 1);
	int objID = AGKLUA_CheckNumber(L, 2);

	// Call function and push result
	agk::FixCameraToObject(cameraID, objID);
	return 0;
}
int AGKLua_Debug(lua_State *L)
{
	// Get variables from lua
	AGKLUA_CountArgs(L, 1);
	const char * value = AGKLUA_CheckString(L, 1);

	// Call function and push result
	app::sendEditorString(g_Msg_Debug, value);

	return 0;
}

void AGKLua_Register(lua_State *L) {
	lua_register(L, "Debug", AGKLua_Debug);
	lua_register(L, "WorldToScreenX", AGKLua_WorldToScreenX);
	lua_register(L, "WorldToScreenY", AGKLua_WorldToScreenY);
	lua_register(L, "ScreenToWorldX", AGKLua_ScreenToWorldX);
	lua_register(L, "ScreenToWorldY", AGKLua_ScreenToWorldY);
	lua_register(L, "SetResolutionMode", AGKLua_SetResolutionMode);
	lua_register(L, "SetSyncRate", AGKLua_SetSyncRate);
	lua_register(L, "SetOrientationAllowed", AGKLua_SetOrientationAllowed);
	lua_register(L, "SetTransitionMode", AGKLua_SetTransitionMode);
	lua_register(L, "SetDisplayAspect", AGKLua_SetDisplayAspect);
	lua_register(L, "SetRenderToImage", AGKLua_SetRenderToImage);
	lua_register(L, "SetRenderToScreen", AGKLua_SetRenderToScreen);
	lua_register(L, "GetCL", AGKLua_GetCL);
	lua_register(L, "SetScissor", AGKLua_SetScissor);
	lua_register(L, "SetIntendedDeviceSize", AGKLua_SetIntendedDeviceSize);
	lua_register(L, "UseNewDefaultFonts", AGKLua_UseNewDefaultFonts);
	lua_register(L, "GetDeviceWidth", AGKLua_GetDeviceWidth);
	lua_register(L, "GetDeviceHeight", AGKLua_GetDeviceHeight);
	lua_register(L, "SetVirtualResolution", AGKLua_SetVirtualResolution);
	lua_register(L, "UpdateDeviceSize", AGKLua_UpdateDeviceSize);
	lua_register(L, "GetVirtualWidth", AGKLua_GetVirtualWidth);
	lua_register(L, "GetVirtualHeight", AGKLua_GetVirtualHeight);
	lua_register(L, "GetScreenBoundsLeft", AGKLua_GetScreenBoundsLeft);
	lua_register(L, "GetScreenBoundsRight", AGKLua_GetScreenBoundsRight);
	lua_register(L, "GetScreenBoundsTop", AGKLua_GetScreenBoundsTop);
	lua_register(L, "GetScreenBoundsBottom", AGKLua_GetScreenBoundsBottom);
	lua_register(L, "GetDisplayAspect", AGKLua_GetDisplayAspect);
	lua_register(L, "GetOrientation", AGKLua_GetOrientation);
	lua_register(L, "GetPaused", AGKLua_GetPaused);
	lua_register(L, "GetResumed", AGKLua_GetResumed);
	lua_register(L, "SetDefaultMagFilter", AGKLua_SetDefaultMagFilter);
	lua_register(L, "SetDefaultMinFilter", AGKLua_SetDefaultMinFilter);
	lua_register(L, "SetDefaultWrapU", AGKLua_SetDefaultWrapU);
	lua_register(L, "SetDefaultWrapV", AGKLua_SetDefaultWrapV);
	lua_register(L, "SetViewOffset", AGKLua_SetViewOffset);
	lua_register(L, "SetViewZoom", AGKLua_SetViewZoom);
	lua_register(L, "SetViewZoomMode", AGKLua_SetViewZoomMode);
	lua_register(L, "GetViewOffsetX", AGKLua_GetViewOffsetX);
	lua_register(L, "GetViewOffsetY", AGKLua_GetViewOffsetY);
	lua_register(L, "GetViewZoom", AGKLua_GetViewZoom);
	lua_register(L, "Sync", AGKLua_Sync);
	lua_register(L, "Break", AGKLua_Break);
	lua_register(L, "StepPhysics", AGKLua_StepPhysics);
	lua_register(L, "Update", AGKLua_Update);
	lua_register(L, "Update2D", AGKLua_Update2D);
	lua_register(L, "Update3D", AGKLua_Update3D);
	lua_register(L, "Render2DBack", AGKLua_Render2DBack);
	lua_register(L, "Render", AGKLua_Render);
	lua_register(L, "Render2DFront", AGKLua_Render2DFront);
	lua_register(L, "Render3D", AGKLua_Render3D);
	lua_register(L, "Swap", AGKLua_Swap);
	lua_register(L, "ClearScreen", AGKLua_ClearScreen);
	lua_register(L, "ClearDepthBuffer", AGKLua_ClearDepthBuffer);
	lua_register(L, "SetGenerateMipmaps", AGKLua_SetGenerateMipmaps);
	lua_register(L, "Timer", AGKLua_Timer);
	lua_register(L, "ResetTimer", AGKLua_ResetTimer);
	lua_register(L, "GetRunTime", AGKLua_GetRunTime);
	lua_register(L, "GetSeconds", AGKLua_GetSeconds);
	lua_register(L, "GetFrameTime", AGKLua_GetFrameTime);
	lua_register(L, "GetMilliseconds", AGKLua_GetMilliseconds);
	lua_register(L, "GetDeviceID", AGKLua_GetDeviceID);
	lua_register(L, "GetNumProcessors", AGKLua_GetNumProcessors);
	lua_register(L, "Sha1", AGKLua_Sha1);
	lua_register(L, "Sha256", AGKLua_Sha256);
	lua_register(L, "Sha512", AGKLua_Sha512);
	lua_register(L, "HTTPEncode", AGKLua_HTTPEncode);
	lua_register(L, "HTTPDecode", AGKLua_HTTPDecode);
	lua_register(L, "SetRandomSeed", AGKLua_SetRandomSeed);
	lua_register(L, "Random", AGKLua_Random);
	lua_register(L, "RandomSign", AGKLua_RandomSign);
	lua_register(L, "SetRandomSeed2", AGKLua_SetRandomSeed2);
	//lua_register(L, "Random2", AGKLua_Random2);
	lua_register(L, "Random2", AGKLua_Random2);
	lua_register(L, "ATanFull", AGKLua_ATanFull);
	lua_register(L, "ATanFullRad", AGKLua_ATanFullRad);
	lua_register(L, "SetSortTextures", AGKLua_SetSortTextures);
	lua_register(L, "SetSortDepth", AGKLua_SetSortDepth);
	lua_register(L, "SetSortTransparentDepth", AGKLua_SetSortTransparentDepth);
	lua_register(L, "SetSortCreated", AGKLua_SetSortCreated);
	lua_register(L, "ScreenFPS", AGKLua_ScreenFPS);
	lua_register(L, "GetPolygonsDrawn", AGKLua_GetPolygonsDrawn);
	lua_register(L, "GetVerticesProcessed", AGKLua_GetVerticesProcessed);
	lua_register(L, "EnableClearDepth", AGKLua_EnableClearDepth);
	lua_register(L, "EnableClearColor", AGKLua_EnableClearColor);
	lua_register(L, "SetBorderColor", AGKLua_SetBorderColor);
	lua_register(L, "SetClearColor", AGKLua_SetClearColor);
	lua_register(L, "LoadImage", AGKLua_LoadImage);
	lua_register(L, "LoadSubImage", AGKLua_LoadSubImage);
	lua_register(L, "LoadImageResized", AGKLua_LoadImageResized);
	lua_register(L, "CreateImageColor", AGKLua_CreateImageColor);
	lua_register(L, "CreateRenderImage", AGKLua_CreateRenderImage);
	lua_register(L, "GetImageExists", AGKLua_GetImageExists);
	lua_register(L, "DeleteImage", AGKLua_DeleteImage);
	lua_register(L, "DeleteAllImages", AGKLua_DeleteAllImages);
	lua_register(L, "GetImageWidth", AGKLua_GetImageWidth);
	lua_register(L, "GetImageHeight", AGKLua_GetImageHeight);
	lua_register(L, "SetImageMinFilter", AGKLua_SetImageMinFilter);
	lua_register(L, "SetImageMagFilter", AGKLua_SetImageMagFilter);
	lua_register(L, "SetImageWrapU", AGKLua_SetImageWrapU);
	lua_register(L, "SetImageWrapV", AGKLua_SetImageWrapV);
	lua_register(L, "SetImageMask", AGKLua_SetImageMask);
	lua_register(L, "SetImageTransparentColor", AGKLua_SetImageTransparentColor);
	lua_register(L, "SaveImage", AGKLua_SaveImage);
	lua_register(L, "GetImage", AGKLua_GetImage);
	lua_register(L, "GetImageFilename", AGKLua_GetImageFilename);
	lua_register(L, "CopyImage", AGKLua_CopyImage);
	lua_register(L, "ResizeImage", AGKLua_ResizeImage);
	lua_register(L, "ShowChooseImageScreen", AGKLua_ShowChooseImageScreen);
	lua_register(L, "IsChoosingImage", AGKLua_IsChoosingImage);
	lua_register(L, "GetChosenImage", AGKLua_GetChosenImage);
	lua_register(L, "ShowImageCaptureScreen", AGKLua_ShowImageCaptureScreen);
	lua_register(L, "IsCapturingImage", AGKLua_IsCapturingImage);
	lua_register(L, "GetCapturedImage", AGKLua_GetCapturedImage);
	lua_register(L, "DecodeQRCode", AGKLua_DecodeQRCode);
	lua_register(L, "EncodeQRCode", AGKLua_EncodeQRCode);
	lua_register(L, "PrintImage", AGKLua_PrintImage);
	lua_register(L, "SetImageSavePixels", AGKLua_SetImageSavePixels);
	lua_register(L, "GetSpritePtr", AGKLua_GetSpritePtr);
	lua_register(L, "GetSpriteImageID", AGKLua_GetSpriteImageID);
	lua_register(L, "CreateSprite", AGKLua_CreateSprite);
	lua_register(L, "LoadSprite", AGKLua_LoadSprite);
	lua_register(L, "CloneSprite", AGKLua_CloneSprite);
	lua_register(L, "CreateDummySprite", AGKLua_CreateDummySprite);
	lua_register(L, "GetSpriteExists", AGKLua_GetSpriteExists);
	lua_register(L, "DeleteSprite", AGKLua_DeleteSprite);
	lua_register(L, "DeleteAllSprites", AGKLua_DeleteAllSprites);
	lua_register(L, "SetSpriteImage", AGKLua_SetSpriteImage);
	lua_register(L, "SetSpriteAdditionalImage", AGKLua_SetSpriteAdditionalImage);
	lua_register(L, "SetSpriteUV", AGKLua_SetSpriteUV);
	lua_register(L, "ResetSpriteUV", AGKLua_ResetSpriteUV);
	lua_register(L, "SetSpritePosition", AGKLua_SetSpritePosition);
	lua_register(L, "SetSpritePositionByOffset", AGKLua_SetSpritePositionByOffset);
	lua_register(L, "SetSpriteX", AGKLua_SetSpriteX);
	lua_register(L, "SetSpriteY", AGKLua_SetSpriteY);
	lua_register(L, "SetSpriteAngle", AGKLua_SetSpriteAngle);
	lua_register(L, "SetSpriteAngleRad", AGKLua_SetSpriteAngleRad);
	lua_register(L, "SetSpriteDepth", AGKLua_SetSpriteDepth);
	lua_register(L, "SetSpriteFlip", AGKLua_SetSpriteFlip);
	lua_register(L, "SetSpriteSnap", AGKLua_SetSpriteSnap);
	lua_register(L, "SetSpriteVisible", AGKLua_SetSpriteVisible);
	lua_register(L, "SetSpriteActive", AGKLua_SetSpriteActive);
	lua_register(L, "GetSpriteX", AGKLua_GetSpriteX);
	lua_register(L, "GetSpriteY", AGKLua_GetSpriteY);
	lua_register(L, "GetSpriteXByOffset", AGKLua_GetSpriteXByOffset);
	lua_register(L, "GetSpriteYByOffset", AGKLua_GetSpriteYByOffset);
	lua_register(L, "GetSpriteOffsetX", AGKLua_GetSpriteOffsetX);
	lua_register(L, "GetSpriteOffsetY", AGKLua_GetSpriteOffsetY);
	lua_register(L, "GetSpriteWidth", AGKLua_GetSpriteWidth);
	lua_register(L, "GetSpriteAngle", AGKLua_GetSpriteAngle);
	lua_register(L, "GetSpriteAngleRad", AGKLua_GetSpriteAngleRad);
	lua_register(L, "GetSpriteHeight", AGKLua_GetSpriteHeight);
	lua_register(L, "GetSpriteScaleX", AGKLua_GetSpriteScaleX);
	lua_register(L, "GetSpriteScaleY", AGKLua_GetSpriteScaleY);
	lua_register(L, "GetSpriteHitTest", AGKLua_GetSpriteHitTest);
	lua_register(L, "GetSpriteHit", AGKLua_GetSpriteHit);
	lua_register(L, "GetSpriteHitGroup", AGKLua_GetSpriteHitGroup);
	lua_register(L, "GetSpriteHitCategory", AGKLua_GetSpriteHitCategory);
	lua_register(L, "GetSpriteDepth", AGKLua_GetSpriteDepth);
	lua_register(L, "GetSpriteColorRed", AGKLua_GetSpriteColorRed);
	lua_register(L, "GetSpriteColorGreen", AGKLua_GetSpriteColorGreen);
	lua_register(L, "GetSpriteColorBlue", AGKLua_GetSpriteColorBlue);
	lua_register(L, "GetSpriteColorAlpha", AGKLua_GetSpriteColorAlpha);
	lua_register(L, "GetSpritePlaying", AGKLua_GetSpritePlaying);
	lua_register(L, "GetSpriteVisible", AGKLua_GetSpriteVisible);
	lua_register(L, "GetSpriteActive", AGKLua_GetSpriteActive);
	lua_register(L, "GetSpriteGroup", AGKLua_GetSpriteGroup);
	lua_register(L, "GetSpriteXFromPixel", AGKLua_GetSpriteXFromPixel);
	lua_register(L, "GetSpriteYFromPixel", AGKLua_GetSpriteYFromPixel);
	lua_register(L, "GetSpritePixelFromX", AGKLua_GetSpritePixelFromX);
	lua_register(L, "GetSpritePixelFromY", AGKLua_GetSpritePixelFromY);
	lua_register(L, "GetWorldXFromSprite", AGKLua_GetWorldXFromSprite);
	lua_register(L, "GetWorldYFromSprite", AGKLua_GetWorldYFromSprite);
	lua_register(L, "GetSpriteXFromWorld", AGKLua_GetSpriteXFromWorld);
	lua_register(L, "GetSpriteYFromWorld", AGKLua_GetSpriteYFromWorld);
	lua_register(L, "SetSpriteSize", AGKLua_SetSpriteSize);
	lua_register(L, "SetSpriteAnimation", AGKLua_SetSpriteAnimation);
	lua_register(L, "AddSpriteAnimationFrame", AGKLua_AddSpriteAnimationFrame);
	lua_register(L, "ClearSpriteAnimationFrames", AGKLua_ClearSpriteAnimationFrames);
	lua_register(L, "SetSpriteSpeed", AGKLua_SetSpriteSpeed);
	lua_register(L, "PlaySprite", AGKLua_PlaySprite);
	lua_register(L, "StopSprite", AGKLua_StopSprite);
	lua_register(L, "ResumeSprite", AGKLua_ResumeSprite);
	lua_register(L, "SetSpriteFrame", AGKLua_SetSpriteFrame);
	lua_register(L, "GetSpriteCurrentFrame", AGKLua_GetSpriteCurrentFrame);
	lua_register(L, "GetSpriteFrameCount", AGKLua_GetSpriteFrameCount);
	lua_register(L, "SetSpriteTransparency", AGKLua_SetSpriteTransparency);
	lua_register(L, "SetSpriteOffset", AGKLua_SetSpriteOffset);
	lua_register(L, "SetSpriteColor", AGKLua_SetSpriteColor);
	lua_register(L, "SetSpriteColorRed", AGKLua_SetSpriteColorRed);
	lua_register(L, "SetSpriteColorGreen", AGKLua_SetSpriteColorGreen);
	lua_register(L, "SetSpriteColorBlue", AGKLua_SetSpriteColorBlue);
	lua_register(L, "SetSpriteColorAlpha", AGKLua_SetSpriteColorAlpha);
	lua_register(L, "SetSpriteUVBorder", AGKLua_SetSpriteUVBorder);
	lua_register(L, "SetSpriteUVOffset", AGKLua_SetSpriteUVOffset);
	lua_register(L, "SetSpriteUVScale", AGKLua_SetSpriteUVScale);
	lua_register(L, "FixSpriteToScreen", AGKLua_FixSpriteToScreen);
	lua_register(L, "SetSpriteScale", AGKLua_SetSpriteScale);
	lua_register(L, "SetSpriteScaleByOffset", AGKLua_SetSpriteScaleByOffset);
	lua_register(L, "SetSpriteScissor", AGKLua_SetSpriteScissor);
	lua_register(L, "SetSpriteShader", AGKLua_SetSpriteShader);
	lua_register(L, "DrawSprite", AGKLua_DrawSprite);
	lua_register(L, "SetPhysicsScale", AGKLua_SetPhysicsScale);
	lua_register(L, "SetPhysicsGravity", AGKLua_SetPhysicsGravity);
	lua_register(L, "SetPhysicsDebugOn", AGKLua_SetPhysicsDebugOn);
	lua_register(L, "SetPhysicsDebugOff", AGKLua_SetPhysicsDebugOff);
	lua_register(L, "SetPhysicsThreading", AGKLua_SetPhysicsThreading);
	lua_register(L, "SetPhysicsCCD", AGKLua_SetPhysicsCCD);
	lua_register(L, "SetPhysicsSleeping", AGKLua_SetPhysicsSleeping);
	lua_register(L, "GetPhysicsSolveTime", AGKLua_GetPhysicsSolveTime);
	lua_register(L, "GetPhysicsIslandCount", AGKLua_GetPhysicsIslandCount);
	lua_register(L, "SetPhysicsMaxPolygonPoints", AGKLua_SetPhysicsMaxPolygonPoints);
	lua_register(L, "SetPhysicsWallTop", AGKLua_SetPhysicsWallTop);
	lua_register(L, "SetPhysicsWallLeft", AGKLua_SetPhysicsWallLeft);
	lua_register(L, "SetPhysicsWallRight", AGKLua_SetPhysicsWallRight);
	lua_register(L, "SetPhysicsWallBottom", AGKLua_SetPhysicsWallBottom);
	lua_register(L, "CreatePhysicsForce", AGKLua_CreatePhysicsForce);
	lua_register(L, "DeletePhysicsForce", AGKLua_DeletePhysicsForce);
	lua_register(L, "SetPhysicsForcePosition", AGKLua_SetPhysicsForcePosition);
	lua_register(L, "SetPhysicsForcePower", AGKLua_SetPhysicsForcePower);
	lua_register(L, "SetPhysicsForceRange", AGKLua_SetPhysicsForceRange);
	//lua_register(L, "SetSpriteShape", AGKLua_SetSpriteShape);
	lua_register(L, "SetSpriteShape", AGKLua_SetSpriteShape);
	//lua_register(L, "SetSpriteShapeBox", AGKLua_SetSpriteShapeBox);
	lua_register(L, "SetSpriteShapeBox", AGKLua_SetSpriteShapeBox);
	//lua_register(L, "SetSpriteShapeCircle", AGKLua_SetSpriteShapeCircle);
	lua_register(L, "SetSpriteShapeCircle", AGKLua_SetSpriteShapeCircle);
	//lua_register(L, "SetSpriteShapePolygon", AGKLua_SetSpriteShapePolygon);
	lua_register(L, "SetSpriteShapePolygon", AGKLua_SetSpriteShapePolygon);
	lua_register(L, "AddSpriteShapeBox", AGKLua_AddSpriteShapeBox);
	lua_register(L, "AddSpriteShapeCircle", AGKLua_AddSpriteShapeCircle);
	lua_register(L, "AddSpriteShapePolygon", AGKLua_AddSpriteShapePolygon);
	lua_register(L, "ClearSpriteShapes", AGKLua_ClearSpriteShapes);
	lua_register(L, "SetSpritePhysicsCOM", AGKLua_SetSpritePhysicsCOM);
	lua_register(L, "CalculateSpritePhysicsCOM", AGKLua_CalculateSpritePhysicsCOM);
	lua_register(L, "SetSpritePhysicsOn", AGKLua_SetSpritePhysicsOn);
	lua_register(L, "SetSpritePhysicsOff", AGKLua_SetSpritePhysicsOff);
	lua_register(L, "SetSpritePhysicsDelete", AGKLua_SetSpritePhysicsDelete);
	//lua_register(L, "SetSpritePhysicsFriction", AGKLua_SetSpritePhysicsFriction);
	lua_register(L, "SetSpritePhysicsFriction", AGKLua_SetSpritePhysicsFriction);
	//lua_register(L, "SetSpritePhysicsRestitution", AGKLua_SetSpritePhysicsRestitution);
	lua_register(L, "SetSpritePhysicsRestitution", AGKLua_SetSpritePhysicsRestitution);
	lua_register(L, "SetSpritePhysicsCanRotate", AGKLua_SetSpritePhysicsCanRotate);
	lua_register(L, "SetSpritePhysicsVelocity", AGKLua_SetSpritePhysicsVelocity);
	lua_register(L, "SetSpritePhysicsAngularVelocity", AGKLua_SetSpritePhysicsAngularVelocity);
	lua_register(L, "SetSpritePhysicsDamping", AGKLua_SetSpritePhysicsDamping);
	lua_register(L, "SetSpritePhysicsAngularDamping", AGKLua_SetSpritePhysicsAngularDamping);
	lua_register(L, "SetSpritePhysicsIsBullet", AGKLua_SetSpritePhysicsIsBullet);
	lua_register(L, "SetSpritePhysicsMass", AGKLua_SetSpritePhysicsMass);
	//lua_register(L, "SetSpritePhysicsIsSensor", AGKLua_SetSpritePhysicsIsSensor);
	lua_register(L, "SetSpritePhysicsIsSensor", AGKLua_SetSpritePhysicsIsSensor);
	//lua_register(L, "SetSpriteGroup", AGKLua_SetSpriteGroup);
	lua_register(L, "SetSpriteGroup", AGKLua_SetSpriteGroup);
	//lua_register(L, "SetSpriteCategoryBits", AGKLua_SetSpriteCategoryBits);
	lua_register(L, "SetSpriteCategoryBits", AGKLua_SetSpriteCategoryBits);
	//lua_register(L, "SetSpriteCategoryBit", AGKLua_SetSpriteCategoryBit);
	lua_register(L, "SetSpriteCategoryBit", AGKLua_SetSpriteCategoryBit);
	//lua_register(L, "SetSpriteCollideBits", AGKLua_SetSpriteCollideBits);
	lua_register(L, "SetSpriteCollideBits", AGKLua_SetSpriteCollideBits);
	//lua_register(L, "SetSpriteCollideBit", AGKLua_SetSpriteCollideBit);
	lua_register(L, "SetSpriteCollideBit", AGKLua_SetSpriteCollideBit);
	lua_register(L, "SetSpritePhysicsForce", AGKLua_SetSpritePhysicsForce);
	lua_register(L, "SetSpritePhysicsTorque", AGKLua_SetSpritePhysicsTorque);
	lua_register(L, "SetSpritePhysicsImpulse", AGKLua_SetSpritePhysicsImpulse);
	lua_register(L, "SetSpritePhysicsAngularImpulse", AGKLua_SetSpritePhysicsAngularImpulse);
	lua_register(L, "GetSpritePhysicsVelocityX", AGKLua_GetSpritePhysicsVelocityX);
	lua_register(L, "GetSpritePhysicsVelocityY", AGKLua_GetSpritePhysicsVelocityY);
	lua_register(L, "GetSpritePhysicsAngularVelocity", AGKLua_GetSpritePhysicsAngularVelocity);
	lua_register(L, "GetSpritePhysicsMass", AGKLua_GetSpritePhysicsMass);
	lua_register(L, "DeleteJoint", AGKLua_DeleteJoint);
	lua_register(L, "GetJointExists", AGKLua_GetJointExists);
	//lua_register(L, "CreateDistanceJoint", AGKLua_CreateDistanceJoint);
	lua_register(L, "CreateDistanceJoint", AGKLua_CreateDistanceJoint);
	//lua_register(L, "CreateRevoluteJoint", AGKLua_CreateRevoluteJoint);
	lua_register(L, "CreateRevoluteJoint", AGKLua_CreateRevoluteJoint);
	//lua_register(L, "CreatePrismaticJoint", AGKLua_CreatePrismaticJoint);
	lua_register(L, "CreatePrismaticJoint", AGKLua_CreatePrismaticJoint);
	lua_register(L, "CreatePulleyJoint", AGKLua_CreatePulleyJoint);
	//lua_register(L, "CreateMouseJoint", AGKLua_CreateMouseJoint);
	lua_register(L, "CreateMouseJoint", AGKLua_CreateMouseJoint);
	//lua_register(L, "CreateLineJoint", AGKLua_CreateLineJoint);
	lua_register(L, "CreateLineJoint", AGKLua_CreateLineJoint);
	//lua_register(L, "CreateWeldJoint", AGKLua_CreateWeldJoint);
	lua_register(L, "CreateWeldJoint", AGKLua_CreateWeldJoint);
	//lua_register(L, "CreateGearJoint", AGKLua_CreateGearJoint);
	lua_register(L, "CreateGearJoint", AGKLua_CreateGearJoint);
	lua_register(L, "CreatePulleyJoint2", AGKLua_CreatePulleyJoint2);
	lua_register(L, "FinishPulleyJoint", AGKLua_FinishPulleyJoint);
	lua_register(L, "SetJointLimitOn", AGKLua_SetJointLimitOn);
	lua_register(L, "SetJointLimitOff", AGKLua_SetJointLimitOff);
	lua_register(L, "SetJointMotorOn", AGKLua_SetJointMotorOn);
	lua_register(L, "SetJointMotorOff", AGKLua_SetJointMotorOff);
	lua_register(L, "SetJointMouseTarget", AGKLua_SetJointMouseTarget);
	lua_register(L, "GetJointReactionForceX", AGKLua_GetJointReactionForceX);
	lua_register(L, "GetJointReactionForceY", AGKLua_GetJointReactionForceY);
	lua_register(L, "GetJointReactionTorque", AGKLua_GetJointReactionTorque);
	lua_register(L, "PhysicsRayCast", AGKLua_PhysicsRayCast);
	lua_register(L, "PhysicsRayCastGroup", AGKLua_PhysicsRayCastGroup);
	lua_register(L, "PhysicsRayCastCategory", AGKLua_PhysicsRayCastCategory);
	lua_register(L, "SpriteRayCastSingle", AGKLua_SpriteRayCastSingle);
	lua_register(L, "SpriteRayCast", AGKLua_SpriteRayCast);
	lua_register(L, "SpriteRayCastGroup", AGKLua_SpriteRayCastGroup);
	lua_register(L, "SpriteRayCastCategory", AGKLua_SpriteRayCastCategory);
	lua_register(L, "GetRayCastSpriteID", AGKLua_GetRayCastSpriteID);
	lua_register(L, "GetRayCastX", AGKLua_GetRayCastX);
	lua_register(L, "GetRayCastY", AGKLua_GetRayCastY);
	lua_register(L, "GetRayCastNormalX", AGKLua_GetRayCastNormalX);
	lua_register(L, "GetRayCastNormalY", AGKLua_GetRayCastNormalY);
	lua_register(L, "GetRayCastFraction", AGKLua_GetRayCastFraction);
	lua_register(L, "GetSpriteInBox", AGKLua_GetSpriteInBox);
	lua_register(L, "GetSpriteInCircle", AGKLua_GetSpriteInCircle);
	lua_register(L, "GetSpriteCollision", AGKLua_GetSpriteCollision);
	lua_register(L, "GetSpriteDistance", AGKLua_GetSpriteDistance);
	lua_register(L, "GetSpriteDistancePoint1X", AGKLua_GetSpriteDistancePoint1X);
	lua_register(L, "GetSpriteDistancePoint1Y", AGKLua_GetSpriteDistancePoint1Y);
	lua_register(L, "GetSpriteDistancePoint2X", AGKLua_GetSpriteDistancePoint2X);
	lua_register(L, "GetSpriteDistancePoint2Y", AGKLua_GetSpriteDistancePoint2Y);
	lua_register(L, "GetFirstContact", AGKLua_GetFirstContact);
	lua_register(L, "GetNextContact", AGKLua_GetNextContact);
	lua_register(L, "GetContactWorldX", AGKLua_GetContactWorldX);
	lua_register(L, "GetContactWorldY", AGKLua_GetContactWorldY);
	lua_register(L, "GetContactSpriteID1", AGKLua_GetContactSpriteID1);
	lua_register(L, "GetContactSpriteID2", AGKLua_GetContactSpriteID2);
	lua_register(L, "GetSpriteFirstContact", AGKLua_GetSpriteFirstContact);
	lua_register(L, "GetSpriteNextContact", AGKLua_GetSpriteNextContact);
	lua_register(L, "GetSpriteContactWorldX", AGKLua_GetSpriteContactWorldX);
	lua_register(L, "GetSpriteContactWorldY", AGKLua_GetSpriteContactWorldY);
	lua_register(L, "GetSpriteContactSpriteID2", AGKLua_GetSpriteContactSpriteID2);
	lua_register(L, "GetPhysicsCollision", AGKLua_GetPhysicsCollision);
	lua_register(L, "GetPhysicsCollisionX", AGKLua_GetPhysicsCollisionX);
	lua_register(L, "GetPhysicsCollisionY", AGKLua_GetPhysicsCollisionY);
	lua_register(L, "GetPhysicsCollisionWorldX", AGKLua_GetPhysicsCollisionWorldX);
	lua_register(L, "GetPhysicsCollisionWorldY", AGKLua_GetPhysicsCollisionWorldY);
	//lua_register(L, "CreateParticles", AGKLua_CreateParticles);
	lua_register(L, "CreateParticles", AGKLua_CreateParticles);
	lua_register(L, "GetParticlesExists", AGKLua_GetParticlesExists);
	lua_register(L, "DeleteParticles", AGKLua_DeleteParticles);
	lua_register(L, "SetParticlesPosition", AGKLua_SetParticlesPosition);
	lua_register(L, "SetParticlesDepth", AGKLua_SetParticlesDepth);
	lua_register(L, "SetParticlesFrequency", AGKLua_SetParticlesFrequency);
	lua_register(L, "SetParticlesStartZone", AGKLua_SetParticlesStartZone);
	lua_register(L, "SetParticlesDirection", AGKLua_SetParticlesDirection);
	lua_register(L, "SetParticlesVelocityRange", AGKLua_SetParticlesVelocityRange);
	lua_register(L, "SetParticlesAngle", AGKLua_SetParticlesAngle);
	lua_register(L, "SetParticlesAngleRad", AGKLua_SetParticlesAngleRad);
	lua_register(L, "SetParticlesRotationRange", AGKLua_SetParticlesRotationRange);
	lua_register(L, "SetParticlesRotationRangeRad", AGKLua_SetParticlesRotationRangeRad);
	lua_register(L, "SetParticlesFaceDirection", AGKLua_SetParticlesFaceDirection);
	lua_register(L, "SetParticlesSize", AGKLua_SetParticlesSize);
	lua_register(L, "SetParticlesLife", AGKLua_SetParticlesLife);
	lua_register(L, "SetParticlesMax", AGKLua_SetParticlesMax);
	lua_register(L, "ResetParticleCount", AGKLua_ResetParticleCount);
	lua_register(L, "SetParticlesImage", AGKLua_SetParticlesImage);
	lua_register(L, "SetParticlesVisible", AGKLua_SetParticlesVisible);
	lua_register(L, "SetParticlesActive", AGKLua_SetParticlesActive);
	lua_register(L, "SetParticlesTransparency", AGKLua_SetParticlesTransparency);
	lua_register(L, "SetParticlesColorInterpolation", AGKLua_SetParticlesColorInterpolation);
	lua_register(L, "GetParticlesX", AGKLua_GetParticlesX);
	lua_register(L, "GetParticlesY", AGKLua_GetParticlesY);
	lua_register(L, "GetParticlesDepth", AGKLua_GetParticlesDepth);
	lua_register(L, "GetParticlesVisible", AGKLua_GetParticlesVisible);
	lua_register(L, "GetParticlesActive", AGKLua_GetParticlesActive);
	lua_register(L, "GetParticlesFrequency", AGKLua_GetParticlesFrequency);
	lua_register(L, "GetParticlesDirectionX", AGKLua_GetParticlesDirectionX);
	lua_register(L, "GetParticlesDirectionY", AGKLua_GetParticlesDirectionY);
	lua_register(L, "GetParticlesAngle", AGKLua_GetParticlesAngle);
	lua_register(L, "GetParticlesAngleRad", AGKLua_GetParticlesAngleRad);
	lua_register(L, "GetParticlesSize", AGKLua_GetParticlesSize);
	lua_register(L, "GetParticlesLife", AGKLua_GetParticlesLife);
	lua_register(L, "GetParticlesMaxReached", AGKLua_GetParticlesMaxReached);
	lua_register(L, "AddParticlesForce", AGKLua_AddParticlesForce);
	lua_register(L, "ClearParticlesForces", AGKLua_ClearParticlesForces);
	lua_register(L, "AddParticlesColorKeyFrame", AGKLua_AddParticlesColorKeyFrame);
	lua_register(L, "ClearParticlesColors", AGKLua_ClearParticlesColors);
	lua_register(L, "AddParticlesScaleKeyFrame", AGKLua_AddParticlesScaleKeyFrame);
	lua_register(L, "ClearParticlesScales", AGKLua_ClearParticlesScales);
	lua_register(L, "FixParticlesToScreen", AGKLua_FixParticlesToScreen);
	lua_register(L, "UpdateParticles", AGKLua_UpdateParticles);
	lua_register(L, "OffsetParticles", AGKLua_OffsetParticles);
	lua_register(L, "CreateText", AGKLua_CreateText);
	lua_register(L, "GetTextExists", AGKLua_GetTextExists);
	lua_register(L, "DeleteText", AGKLua_DeleteText);
	lua_register(L, "DeleteAllText", AGKLua_DeleteAllText);
	lua_register(L, "SetTextString", AGKLua_SetTextString);
	lua_register(L, "SetTextPosition", AGKLua_SetTextPosition);
	lua_register(L, "SetTextX", AGKLua_SetTextX);
	lua_register(L, "SetTextY", AGKLua_SetTextY);
	lua_register(L, "SetTextAngle", AGKLua_SetTextAngle);
	lua_register(L, "SetTextAngleRad", AGKLua_SetTextAngleRad);
	lua_register(L, "SetTextAlignment", AGKLua_SetTextAlignment);
	lua_register(L, "SetTextSize", AGKLua_SetTextSize);
	lua_register(L, "SetTextSpacing", AGKLua_SetTextSpacing);
	lua_register(L, "SetTextLineSpacing", AGKLua_SetTextLineSpacing);
	lua_register(L, "SetTextDepth", AGKLua_SetTextDepth);
	lua_register(L, "SetTextVisible", AGKLua_SetTextVisible);
	lua_register(L, "SetTextColor", AGKLua_SetTextColor);
	lua_register(L, "SetTextColorRed", AGKLua_SetTextColorRed);
	lua_register(L, "SetTextColorGreen", AGKLua_SetTextColorGreen);
	lua_register(L, "SetTextColorBlue", AGKLua_SetTextColorBlue);
	lua_register(L, "SetTextColorAlpha", AGKLua_SetTextColorAlpha);
	lua_register(L, "GetTextColorRed", AGKLua_GetTextColorRed);
	lua_register(L, "GetTextColorGreen", AGKLua_GetTextColorGreen);
	lua_register(L, "GetTextColorBlue", AGKLua_GetTextColorBlue);
	lua_register(L, "GetTextColorAlpha", AGKLua_GetTextColorAlpha);
	lua_register(L, "SetTextCharPosition", AGKLua_SetTextCharPosition);
	lua_register(L, "SetTextCharX", AGKLua_SetTextCharX);
	lua_register(L, "SetTextCharY", AGKLua_SetTextCharY);
	lua_register(L, "SetTextCharAngle", AGKLua_SetTextCharAngle);
	lua_register(L, "SetTextCharAngleRad", AGKLua_SetTextCharAngleRad);
	lua_register(L, "SetTextCharColor", AGKLua_SetTextCharColor);
	lua_register(L, "SetTextCharColorRed", AGKLua_SetTextCharColorRed);
	lua_register(L, "SetTextCharColorGreen", AGKLua_SetTextCharColorGreen);
	lua_register(L, "SetTextCharColorBlue", AGKLua_SetTextCharColorBlue);
	lua_register(L, "SetTextCharColorAlpha", AGKLua_SetTextCharColorAlpha);
	lua_register(L, "SetTextCharBold", AGKLua_SetTextCharBold);
	lua_register(L, "GetTextCharX", AGKLua_GetTextCharX);
	lua_register(L, "GetTextCharY", AGKLua_GetTextCharY);
	lua_register(L, "GetTextCharAngle", AGKLua_GetTextCharAngle);
	lua_register(L, "GetTextCharAngleRad", AGKLua_GetTextCharAngleRad);
	lua_register(L, "GetTextCharColorRed", AGKLua_GetTextCharColorRed);
	lua_register(L, "GetTextCharColorGreen", AGKLua_GetTextCharColorGreen);
	lua_register(L, "GetTextCharColorBlue", AGKLua_GetTextCharColorBlue);
	lua_register(L, "GetTextCharColorAlpha", AGKLua_GetTextCharColorAlpha);
	lua_register(L, "GetTextX", AGKLua_GetTextX);
	lua_register(L, "GetTextY", AGKLua_GetTextY);
	lua_register(L, "GetTextLength", AGKLua_GetTextLength);
	lua_register(L, "GetTextTotalWidth", AGKLua_GetTextTotalWidth);
	lua_register(L, "GetTextTotalHeight", AGKLua_GetTextTotalHeight);
	lua_register(L, "GetTextHitTest", AGKLua_GetTextHitTest);
	lua_register(L, "SetTextFontImage", AGKLua_SetTextFontImage);
	lua_register(L, "SetTextExtendedFontImage", AGKLua_SetTextExtendedFontImage);
	lua_register(L, "SetTextFont", AGKLua_SetTextFont);
	lua_register(L, "SetTextDefaultFontImage", AGKLua_SetTextDefaultFontImage);
	lua_register(L, "SetTextDefaultExtendedFontImage", AGKLua_SetTextDefaultExtendedFontImage);
	lua_register(L, "SetTextDefaultMinFilter", AGKLua_SetTextDefaultMinFilter);
	lua_register(L, "SetTextDefaultMagFilter", AGKLua_SetTextDefaultMagFilter);
	lua_register(L, "FixTextToScreen", AGKLua_FixTextToScreen);
	lua_register(L, "SetTextMaxWidth", AGKLua_SetTextMaxWidth);
	lua_register(L, "SetTextScissor", AGKLua_SetTextScissor);
	lua_register(L, "SetTextTransparency", AGKLua_SetTextTransparency);
	lua_register(L, "SetTextBold", AGKLua_SetTextBold);
	lua_register(L, "GetTextVisible", AGKLua_GetTextVisible);
	lua_register(L, "GetTextDepth", AGKLua_GetTextDepth);
	lua_register(L, "GetTextSize", AGKLua_GetTextSize);
	lua_register(L, "GetTextSpacing", AGKLua_GetTextSpacing);
	lua_register(L, "GetTextLineSpacing", AGKLua_GetTextLineSpacing);
	lua_register(L, "GetTextString", AGKLua_GetTextString);
	//lua_register(L, "LoadFont", AGKLua_LoadFont);
	lua_register(L, "LoadFont", AGKLua_LoadFont);
	lua_register(L, "GetFontExists", AGKLua_GetFontExists);
	lua_register(L, "GetSystemFontExists", AGKLua_GetSystemFontExists);
	lua_register(L, "DeleteFont", AGKLua_DeleteFont);
	lua_register(L, "Print", AGKLua_Print);
	lua_register(L, "PrintC", AGKLua_PrintC);
	lua_register(L, "SetPrintSize", AGKLua_SetPrintSize);
	lua_register(L, "SetPrintSpacing", AGKLua_SetPrintSpacing);
	lua_register(L, "SetPrintColor", AGKLua_SetPrintColor);
	lua_register(L, "SetPrintFont", AGKLua_SetPrintFont);
	//lua_register(L, "CreateSkeleton2D", AGKLua_CreateSkeleton2D);
	lua_register(L, "CreateSkeleton2D", AGKLua_CreateSkeleton2D);
	lua_register(L, "GetSkeleton2DExists", AGKLua_GetSkeleton2DExists);
	lua_register(L, "DeleteSkeleton2D", AGKLua_DeleteSkeleton2D);
	lua_register(L, "LoadSkeleton2DFromSpineFile", AGKLua_LoadSkeleton2DFromSpineFile);
	lua_register(L, "LoadSkeleton2DFromSpriterFile", AGKLua_LoadSkeleton2DFromSpriterFile);
	lua_register(L, "SetSkeleton2DPosition", AGKLua_SetSkeleton2DPosition);
	lua_register(L, "SetSkeleton2DRotation", AGKLua_SetSkeleton2DRotation);
	lua_register(L, "SetSkeleton2DFlip", AGKLua_SetSkeleton2DFlip);
	lua_register(L, "SetSkeleton2DDepth", AGKLua_SetSkeleton2DDepth);
	lua_register(L, "FixSkeleton2DToScreen", AGKLua_FixSkeleton2DToScreen);
	lua_register(L, "SetSkeleton2DVisible", AGKLua_SetSkeleton2DVisible);
	lua_register(L, "GetSkeleton2DX", AGKLua_GetSkeleton2DX);
	lua_register(L, "GetSkeleton2DY", AGKLua_GetSkeleton2DY);
	lua_register(L, "GetSkeleton2DAngle", AGKLua_GetSkeleton2DAngle);
	lua_register(L, "GetSkeleton2DBone", AGKLua_GetSkeleton2DBone);
	lua_register(L, "GetSkeleton2DBoneParent", AGKLua_GetSkeleton2DBoneParent);
	lua_register(L, "GetSkeleton2DBoneX", AGKLua_GetSkeleton2DBoneX);
	lua_register(L, "GetSkeleton2DBoneY", AGKLua_GetSkeleton2DBoneY);
	lua_register(L, "GetSkeleton2DBoneAngle", AGKLua_GetSkeleton2DBoneAngle);
	lua_register(L, "GetSkeleton2DBoneCurrX", AGKLua_GetSkeleton2DBoneCurrX);
	lua_register(L, "GetSkeleton2DBoneCurrY", AGKLua_GetSkeleton2DBoneCurrY);
	lua_register(L, "GetSkeleton2DBoneCurrAngle", AGKLua_GetSkeleton2DBoneCurrAngle);
	lua_register(L, "SetSkeleton2DBonePosition", AGKLua_SetSkeleton2DBonePosition);
	lua_register(L, "SetSkeleton2DBoneAngle", AGKLua_SetSkeleton2DBoneAngle);
	lua_register(L, "SetSkeleton2DBoneScale", AGKLua_SetSkeleton2DBoneScale);
	lua_register(L, "SetSkeleton2DBoneMode", AGKLua_SetSkeleton2DBoneMode);
	lua_register(L, "PlaySkeleton2DAnimation", AGKLua_PlaySkeleton2DAnimation);
	lua_register(L, "SetSkeleton2DAnimationFrame", AGKLua_SetSkeleton2DAnimationFrame);
	lua_register(L, "SetSkeleton2DAnimationSpeed", AGKLua_SetSkeleton2DAnimationSpeed);
	lua_register(L, "GetSkeleton2DCurrentTime", AGKLua_GetSkeleton2DCurrentTime);
	lua_register(L, "StopSkeleton2DAnimation", AGKLua_StopSkeleton2DAnimation);
	lua_register(L, "GetSkeleton2DIsAnimating", AGKLua_GetSkeleton2DIsAnimating);
	lua_register(L, "GetSkeleton2DIsTweening", AGKLua_GetSkeleton2DIsTweening);
	lua_register(L, "GetSkeleton2DAnimationTime", AGKLua_GetSkeleton2DAnimationTime);
	lua_register(L, "TweenLinear", AGKLua_TweenLinear);
	lua_register(L, "TweenSmooth1", AGKLua_TweenSmooth1);
	lua_register(L, "TweenSmooth2", AGKLua_TweenSmooth2);
	lua_register(L, "TweenEaseIn1", AGKLua_TweenEaseIn1);
	lua_register(L, "TweenEaseIn2", AGKLua_TweenEaseIn2);
	lua_register(L, "TweenEaseOut1", AGKLua_TweenEaseOut1);
	lua_register(L, "TweenEaseOut2", AGKLua_TweenEaseOut2);
	lua_register(L, "TweenBounce", AGKLua_TweenBounce);
	lua_register(L, "TweenOvershoot", AGKLua_TweenOvershoot);
	lua_register(L, "DeleteTween", AGKLua_DeleteTween);
	lua_register(L, "GetTweenExists", AGKLua_GetTweenExists);
	lua_register(L, "SetTweenDuration", AGKLua_SetTweenDuration);
	lua_register(L, "CreateTweenCustom", AGKLua_CreateTweenCustom);
	lua_register(L, "GetTweenCustomExists", AGKLua_GetTweenCustomExists);
	lua_register(L, "SetTweenCustomFloat1", AGKLua_SetTweenCustomFloat1);
	lua_register(L, "SetTweenCustomFloat2", AGKLua_SetTweenCustomFloat2);
	lua_register(L, "SetTweenCustomFloat3", AGKLua_SetTweenCustomFloat3);
	lua_register(L, "SetTweenCustomFloat4", AGKLua_SetTweenCustomFloat4);
	lua_register(L, "SetTweenCustomInteger1", AGKLua_SetTweenCustomInteger1);
	lua_register(L, "SetTweenCustomInteger2", AGKLua_SetTweenCustomInteger2);
	lua_register(L, "SetTweenCustomInteger3", AGKLua_SetTweenCustomInteger3);
	lua_register(L, "SetTweenCustomInteger4", AGKLua_SetTweenCustomInteger4);
	lua_register(L, "GetTweenCustomFloat1", AGKLua_GetTweenCustomFloat1);
	lua_register(L, "GetTweenCustomFloat2", AGKLua_GetTweenCustomFloat2);
	lua_register(L, "GetTweenCustomFloat3", AGKLua_GetTweenCustomFloat3);
	lua_register(L, "GetTweenCustomFloat4", AGKLua_GetTweenCustomFloat4);
	lua_register(L, "GetTweenCustomInteger1", AGKLua_GetTweenCustomInteger1);
	lua_register(L, "GetTweenCustomInteger2", AGKLua_GetTweenCustomInteger2);
	lua_register(L, "GetTweenCustomInteger3", AGKLua_GetTweenCustomInteger3);
	lua_register(L, "GetTweenCustomInteger4", AGKLua_GetTweenCustomInteger4);
	lua_register(L, "PlayTweenCustom", AGKLua_PlayTweenCustom);
	lua_register(L, "StopTweenCustom", AGKLua_StopTweenCustom);
	lua_register(L, "GetTweenCustomPlaying", AGKLua_GetTweenCustomPlaying);
	lua_register(L, "CreateTweenSprite", AGKLua_CreateTweenSprite);
	lua_register(L, "GetTweenSpriteExists", AGKLua_GetTweenSpriteExists);
	lua_register(L, "SetTweenSpriteX", AGKLua_SetTweenSpriteX);
	lua_register(L, "SetTweenSpriteY", AGKLua_SetTweenSpriteY);
	lua_register(L, "SetTweenSpriteXByOffset", AGKLua_SetTweenSpriteXByOffset);
	lua_register(L, "SetTweenSpriteYByOffset", AGKLua_SetTweenSpriteYByOffset);
	lua_register(L, "SetTweenSpriteAngle", AGKLua_SetTweenSpriteAngle);
	lua_register(L, "SetTweenSpriteSizeX", AGKLua_SetTweenSpriteSizeX);
	lua_register(L, "SetTweenSpriteSizeY", AGKLua_SetTweenSpriteSizeY);
	lua_register(L, "SetTweenSpriteRed", AGKLua_SetTweenSpriteRed);
	lua_register(L, "SetTweenSpriteGreen", AGKLua_SetTweenSpriteGreen);
	lua_register(L, "SetTweenSpriteBlue", AGKLua_SetTweenSpriteBlue);
	lua_register(L, "SetTweenSpriteAlpha", AGKLua_SetTweenSpriteAlpha);
	lua_register(L, "PlayTweenSprite", AGKLua_PlayTweenSprite);
	lua_register(L, "StopTweenSprite", AGKLua_StopTweenSprite);
	lua_register(L, "GetTweenSpritePlaying", AGKLua_GetTweenSpritePlaying);
	lua_register(L, "CreateTweenText", AGKLua_CreateTweenText);
	lua_register(L, "GetTweenTextExists", AGKLua_GetTweenTextExists);
	lua_register(L, "SetTweenTextX", AGKLua_SetTweenTextX);
	lua_register(L, "SetTweenTextY", AGKLua_SetTweenTextY);
	lua_register(L, "SetTweenTextAngle", AGKLua_SetTweenTextAngle);
	lua_register(L, "SetTweenTextSize", AGKLua_SetTweenTextSize);
	lua_register(L, "SetTweenTextSpacing", AGKLua_SetTweenTextSpacing);
	lua_register(L, "SetTweenTextLineSpacing", AGKLua_SetTweenTextLineSpacing);
	lua_register(L, "SetTweenTextRed", AGKLua_SetTweenTextRed);
	lua_register(L, "SetTweenTextGreen", AGKLua_SetTweenTextGreen);
	lua_register(L, "SetTweenTextBlue", AGKLua_SetTweenTextBlue);
	lua_register(L, "SetTweenTextAlpha", AGKLua_SetTweenTextAlpha);
	lua_register(L, "PlayTweenText", AGKLua_PlayTweenText);
	lua_register(L, "StopTweenText", AGKLua_StopTweenText);
	lua_register(L, "GetTweenTextPlaying", AGKLua_GetTweenTextPlaying);
	lua_register(L, "CreateTweenChar", AGKLua_CreateTweenChar);
	lua_register(L, "GetTweenCharExists", AGKLua_GetTweenCharExists);
	lua_register(L, "SetTweenCharX", AGKLua_SetTweenCharX);
	lua_register(L, "SetTweenCharY", AGKLua_SetTweenCharY);
	lua_register(L, "SetTweenCharAngle", AGKLua_SetTweenCharAngle);
	lua_register(L, "SetTweenCharRed", AGKLua_SetTweenCharRed);
	lua_register(L, "SetTweenCharGreen", AGKLua_SetTweenCharGreen);
	lua_register(L, "SetTweenCharBlue", AGKLua_SetTweenCharBlue);
	lua_register(L, "SetTweenCharAlpha", AGKLua_SetTweenCharAlpha);
	lua_register(L, "PlayTweenChar", AGKLua_PlayTweenChar);
	lua_register(L, "StopTweenChar", AGKLua_StopTweenChar);
	lua_register(L, "GetTweenCharPlaying", AGKLua_GetTweenCharPlaying);
	lua_register(L, "CreateTweenObject", AGKLua_CreateTweenObject);
	lua_register(L, "GetTweenObjectExists", AGKLua_GetTweenObjectExists);
	lua_register(L, "SetTweenObjectX", AGKLua_SetTweenObjectX);
	lua_register(L, "SetTweenObjectY", AGKLua_SetTweenObjectY);
	lua_register(L, "SetTweenObjectZ", AGKLua_SetTweenObjectZ);
	lua_register(L, "SetTweenObjectAngleX", AGKLua_SetTweenObjectAngleX);
	lua_register(L, "SetTweenObjectAngleY", AGKLua_SetTweenObjectAngleY);
	lua_register(L, "SetTweenObjectAngleZ", AGKLua_SetTweenObjectAngleZ);
	lua_register(L, "SetTweenObjectScaleX", AGKLua_SetTweenObjectScaleX);
	lua_register(L, "SetTweenObjectScaleY", AGKLua_SetTweenObjectScaleY);
	lua_register(L, "SetTweenObjectScaleZ", AGKLua_SetTweenObjectScaleZ);
	lua_register(L, "SetTweenObjectRed", AGKLua_SetTweenObjectRed);
	lua_register(L, "SetTweenObjectGreen", AGKLua_SetTweenObjectGreen);
	lua_register(L, "SetTweenObjectBlue", AGKLua_SetTweenObjectBlue);
	lua_register(L, "SetTweenObjectAlpha", AGKLua_SetTweenObjectAlpha);
	lua_register(L, "PlayTweenObject", AGKLua_PlayTweenObject);
	lua_register(L, "StopTweenObject", AGKLua_StopTweenObject);
	lua_register(L, "GetTweenObjectPlaying", AGKLua_GetTweenObjectPlaying);
	lua_register(L, "CreateTweenCamera", AGKLua_CreateTweenCamera);
	lua_register(L, "GetTweenCameraExists", AGKLua_GetTweenCameraExists);
	lua_register(L, "SetTweenCameraX", AGKLua_SetTweenCameraX);
	lua_register(L, "SetTweenCameraY", AGKLua_SetTweenCameraY);
	lua_register(L, "SetTweenCameraZ", AGKLua_SetTweenCameraZ);
	lua_register(L, "SetTweenCameraAngleX", AGKLua_SetTweenCameraAngleX);
	lua_register(L, "SetTweenCameraAngleY", AGKLua_SetTweenCameraAngleY);
	lua_register(L, "SetTweenCameraAngleZ", AGKLua_SetTweenCameraAngleZ);
	lua_register(L, "SetTweenCameraFOV", AGKLua_SetTweenCameraFOV);
	lua_register(L, "PlayTweenCamera", AGKLua_PlayTweenCamera);
	lua_register(L, "StopTweenCamera", AGKLua_StopTweenCamera);
	lua_register(L, "GetTweenCameraPlaying", AGKLua_GetTweenCameraPlaying);
	lua_register(L, "CreateTweenChain", AGKLua_CreateTweenChain);
	lua_register(L, "DeleteTweenChain", AGKLua_DeleteTweenChain);
	lua_register(L, "ClearTweenChain", AGKLua_ClearTweenChain);
	lua_register(L, "AddTweenChainCustom", AGKLua_AddTweenChainCustom);
	lua_register(L, "AddTweenChainSprite", AGKLua_AddTweenChainSprite);
	lua_register(L, "AddTweenChainText", AGKLua_AddTweenChainText);
	lua_register(L, "AddTweenChainChar", AGKLua_AddTweenChainChar);
	lua_register(L, "AddTweenChainObject", AGKLua_AddTweenChainObject);
	lua_register(L, "AddTweenChainCamera", AGKLua_AddTweenChainCamera);
	lua_register(L, "PlayTweenChain", AGKLua_PlayTweenChain);
	lua_register(L, "PauseTweenChain", AGKLua_PauseTweenChain);
	lua_register(L, "StopTweenChain", AGKLua_StopTweenChain);
	lua_register(L, "GetTweenChainPlaying", AGKLua_GetTweenChainPlaying);
	lua_register(L, "SetTweenChainTime", AGKLua_SetTweenChainTime);
	lua_register(L, "GetTweenChainEndTime", AGKLua_GetTweenChainEndTime);
	lua_register(L, "UpdateAllTweens", AGKLua_UpdateAllTweens);
	lua_register(L, "UpdateTweenCustom", AGKLua_UpdateTweenCustom);
	lua_register(L, "UpdateTweenSprite", AGKLua_UpdateTweenSprite);
	lua_register(L, "UpdateTweenText", AGKLua_UpdateTweenText);
	lua_register(L, "UpdateTweenChar", AGKLua_UpdateTweenChar);
	lua_register(L, "UpdateTweenObject", AGKLua_UpdateTweenObject);
	lua_register(L, "UpdateTweenCamera", AGKLua_UpdateTweenCamera);
	lua_register(L, "UpdateTweenChain", AGKLua_UpdateTweenChain);
	lua_register(L, "GetRawTouchCount", AGKLua_GetRawTouchCount);
	lua_register(L, "GetRawFirstTouchEvent", AGKLua_GetRawFirstTouchEvent);
	lua_register(L, "GetRawNextTouchEvent", AGKLua_GetRawNextTouchEvent);
	lua_register(L, "GetRawTouchType", AGKLua_GetRawTouchType);
	lua_register(L, "GetRawTouchStartX", AGKLua_GetRawTouchStartX);
	lua_register(L, "GetRawTouchStartY", AGKLua_GetRawTouchStartY);
	lua_register(L, "GetRawTouchCurrentX", AGKLua_GetRawTouchCurrentX);
	lua_register(L, "GetRawTouchCurrentY", AGKLua_GetRawTouchCurrentY);
	lua_register(L, "GetRawTouchLastX", AGKLua_GetRawTouchLastX);
	lua_register(L, "GetRawTouchLastY", AGKLua_GetRawTouchLastY);
	lua_register(L, "GetRawTouchReleased", AGKLua_GetRawTouchReleased);
	lua_register(L, "SetRawTouchValue", AGKLua_SetRawTouchValue);
	lua_register(L, "GetRawTouchValue", AGKLua_GetRawTouchValue);
	lua_register(L, "GetRawTouchTime", AGKLua_GetRawTouchTime);
	lua_register(L, "LoadSound", AGKLua_LoadSound);
	lua_register(L, "LoadSoundOGG", AGKLua_LoadSoundOGG);
	lua_register(L, "SaveSound", AGKLua_SaveSound);
	lua_register(L, "PlaySound", AGKLua_PlaySound);
	lua_register(L, "StopSound", AGKLua_StopSound);
	lua_register(L, "DeleteSound", AGKLua_DeleteSound);
	lua_register(L, "GetSoundExists", AGKLua_GetSoundExists);
	lua_register(L, "GetSoundInstances", AGKLua_GetSoundInstances);
	lua_register(L, "GetSoundsPlaying", AGKLua_GetSoundsPlaying);
	lua_register(L, "SetSoundSystemVolume", AGKLua_SetSoundSystemVolume);
	lua_register(L, "GetSoundMaxRate", AGKLua_GetSoundMaxRate);
	lua_register(L, "GetSoundMinRate", AGKLua_GetSoundMinRate);
	lua_register(L, "GetSoundInstancePlaying", AGKLua_GetSoundInstancePlaying);
	lua_register(L, "GetSoundInstanceVolume", AGKLua_GetSoundInstanceVolume);
	lua_register(L, "GetSoundInstanceRate", AGKLua_GetSoundInstanceRate);
	lua_register(L, "SetSoundInstanceVolume", AGKLua_SetSoundInstanceVolume);
	lua_register(L, "SetSoundInstanceRate", AGKLua_SetSoundInstanceRate);
	lua_register(L, "SetSoundInstanceBalance", AGKLua_SetSoundInstanceBalance);
	lua_register(L, "GetSoundInstanceLoopCount", AGKLua_GetSoundInstanceLoopCount);
	lua_register(L, "StopSoundInstance", AGKLua_StopSoundInstance);
	lua_register(L, "LoadMusic", AGKLua_LoadMusic);
	lua_register(L, "SetMusicFileVolume", AGKLua_SetMusicFileVolume);
	lua_register(L, "PlayMusic", AGKLua_PlayMusic);
	lua_register(L, "ResumeMusic", AGKLua_ResumeMusic);
	lua_register(L, "StopMusic", AGKLua_StopMusic);
	lua_register(L, "DeleteMusic", AGKLua_DeleteMusic);
	lua_register(L, "GetMusicPlaying", AGKLua_GetMusicPlaying);
	lua_register(L, "SetMusicSystemVolume", AGKLua_SetMusicSystemVolume);
	lua_register(L, "GetMusicExists", AGKLua_GetMusicExists);
	lua_register(L, "GetMusicDuration", AGKLua_GetMusicDuration);
	lua_register(L, "GetMusicPosition", AGKLua_GetMusicPosition);
	lua_register(L, "SeekMusic", AGKLua_SeekMusic);
	lua_register(L, "LoadMusicOGG", AGKLua_LoadMusicOGG);
	lua_register(L, "GetMusicExistsOGG", AGKLua_GetMusicExistsOGG);
	lua_register(L, "SetMusicVolumeOGG", AGKLua_SetMusicVolumeOGG);
	lua_register(L, "PlayMusicOGG", AGKLua_PlayMusicOGG);
	lua_register(L, "PauseMusicOGG", AGKLua_PauseMusicOGG);
	lua_register(L, "ResumeMusicOGG", AGKLua_ResumeMusicOGG);
	lua_register(L, "StopMusicOGG", AGKLua_StopMusicOGG);
	lua_register(L, "DeleteMusicOGG", AGKLua_DeleteMusicOGG);
	lua_register(L, "GetMusicPlayingOGG", AGKLua_GetMusicPlayingOGG);
	lua_register(L, "GetMusicLoopCountOGG", AGKLua_GetMusicLoopCountOGG);
	lua_register(L, "GetMusicDurationOGG", AGKLua_GetMusicDurationOGG);
	lua_register(L, "GetMusicPositionOGG", AGKLua_GetMusicPositionOGG);
	lua_register(L, "SeekMusicOGG", AGKLua_SeekMusicOGG);
	lua_register(L, "SetMusicSystemVolumeOGG", AGKLua_SetMusicSystemVolumeOGG);
	lua_register(L, "SetMusicLoopTimesOGG", AGKLua_SetMusicLoopTimesOGG);
	lua_register(L, "SetMusicLoopCountOGG", AGKLua_SetMusicLoopCountOGG);
	lua_register(L, "RecordSound", AGKLua_RecordSound);
	lua_register(L, "StopSoundRecording", AGKLua_StopSoundRecording);
	lua_register(L, "IsSoundRecording", AGKLua_IsSoundRecording);
	lua_register(L, "DeleteFile", AGKLua_DeleteFile);
	lua_register(L, "GetFileExists", AGKLua_GetFileExists);
	//lua_register(L, "ChooseRawFile", AGKLua_ChooseRawFile);
	lua_register(L, "ChooseRawFile", AGKLua_ChooseRawFile);
	lua_register(L, "SimplifyPath", AGKLua_SimplifyPath);
	lua_register(L, "JoinPaths", AGKLua_JoinPaths);
	lua_register(L, "IsAbsolutePath", AGKLua_IsAbsolutePath);
	lua_register(L, "CountWindowsDrives", AGKLua_CountWindowsDrives);
	lua_register(L, "GetWindowsDrive", AGKLua_GetWindowsDrive);
	lua_register(L, "OpenRawFolder", AGKLua_OpenRawFolder);
	lua_register(L, "CloseRawFolder", AGKLua_CloseRawFolder);
	lua_register(L, "GetRawFolderNumFiles", AGKLua_GetRawFolderNumFiles);
	lua_register(L, "GetRawFolderNumFolders", AGKLua_GetRawFolderNumFolders);
	lua_register(L, "GetRawFolderFileName", AGKLua_GetRawFolderFileName);
	lua_register(L, "GetRawFolderFolderName", AGKLua_GetRawFolderFolderName);
	lua_register(L, "OpenToWrite", AGKLua_OpenToWrite);
	lua_register(L, "OpenToRead", AGKLua_OpenToRead);
	lua_register(L, "FileIsOpen", AGKLua_FileIsOpen);
	lua_register(L, "CloseFile", AGKLua_CloseFile);
	lua_register(L, "FileEOF", AGKLua_FileEOF);
	lua_register(L, "GetFileSize", AGKLua_GetFileSize);
	lua_register(L, "GetFilePos", AGKLua_GetFilePos);
	lua_register(L, "SetFilePos", AGKLua_SetFilePos);
	lua_register(L, "WriteByte", AGKLua_WriteByte);
	lua_register(L, "WriteInteger", AGKLua_WriteInteger);
	lua_register(L, "WriteFloat", AGKLua_WriteFloat);
	lua_register(L, "WriteString", AGKLua_WriteString);
	lua_register(L, "WriteString2", AGKLua_WriteString2);
	lua_register(L, "WriteLine", AGKLua_WriteLine);
	lua_register(L, "ReadByte", AGKLua_ReadByte);
	lua_register(L, "ReadInteger", AGKLua_ReadInteger);
	lua_register(L, "ReadFloat", AGKLua_ReadFloat);
	lua_register(L, "ReadString", AGKLua_ReadString);
	lua_register(L, "ReadString2", AGKLua_ReadString2);
	lua_register(L, "ReadLine", AGKLua_ReadLine);
	lua_register(L, "Str", AGKLua_Str);
	lua_register(L, "Bin", AGKLua_Bin);
	lua_register(L, "Hex", AGKLua_Hex);
	lua_register(L, "StringToBase64", AGKLua_StringToBase64);
	lua_register(L, "HexToBase64", AGKLua_HexToBase64);
	lua_register(L, "Val", AGKLua_Val);
	lua_register(L, "ValFloat", AGKLua_ValFloat);
	lua_register(L, "Left", AGKLua_Left);
	lua_register(L, "Right", AGKLua_Right);
	lua_register(L, "Mid", AGKLua_Mid);
	lua_register(L, "Asc", AGKLua_Asc);
	lua_register(L, "Len", AGKLua_Len);
	lua_register(L, "ByteLen", AGKLua_ByteLen);
	lua_register(L, "Chr", AGKLua_Chr);
	lua_register(L, "Lower", AGKLua_Lower);
	lua_register(L, "Upper", AGKLua_Upper);
	lua_register(L, "Spaces", AGKLua_Spaces);
	lua_register(L, "FindStringCount", AGKLua_FindStringCount);
	lua_register(L, "FindString", AGKLua_FindString);
	lua_register(L, "FindStringReverse", AGKLua_FindStringReverse);
	lua_register(L, "CompareString", AGKLua_CompareString);
	lua_register(L, "ReplaceString", AGKLua_ReplaceString);
	lua_register(L, "StripString", AGKLua_StripString);
	lua_register(L, "TrimString", AGKLua_TrimString);
	lua_register(L, "TruncateString", AGKLua_TruncateString);
	lua_register(L, "CountStringTokens", AGKLua_CountStringTokens);
	lua_register(L, "GetStringToken", AGKLua_GetStringToken);
	lua_register(L, "CountStringTokens2", AGKLua_CountStringTokens2);
	lua_register(L, "GetStringToken2", AGKLua_GetStringToken2);
	lua_register(L, "GetCurrentDir", AGKLua_GetCurrentDir);
	lua_register(L, "GetFolder", AGKLua_GetFolder);
	lua_register(L, "SetFolder", AGKLua_SetFolder);
	lua_register(L, "GetFirstFolder", AGKLua_GetFirstFolder);
	lua_register(L, "GetNextFolder", AGKLua_GetNextFolder);
	lua_register(L, "GetFolderCount", AGKLua_GetFolderCount);
	lua_register(L, "GetFirstFile", AGKLua_GetFirstFile);
	lua_register(L, "GetNextFile", AGKLua_GetNextFile);
	lua_register(L, "GetFileCount", AGKLua_GetFileCount);
	lua_register(L, "CreateBroadcastListener", AGKLua_CreateBroadcastListener);
	lua_register(L, "GetBroadcastMessage", AGKLua_GetBroadcastMessage);
	lua_register(L, "DeleteBroadcastListener", AGKLua_DeleteBroadcastListener);
	lua_register(L, "ConnectSocket", AGKLua_ConnectSocket);
	lua_register(L, "GetSocketConnected", AGKLua_GetSocketConnected);
	lua_register(L, "GetSocketExists", AGKLua_GetSocketExists);
	lua_register(L, "DeleteSocket", AGKLua_DeleteSocket);
	lua_register(L, "GetSocketRemoteIP", AGKLua_GetSocketRemoteIP);
	lua_register(L, "FlushSocket", AGKLua_FlushSocket);
	lua_register(L, "GetSocketBytesAvailable", AGKLua_GetSocketBytesAvailable);
	lua_register(L, "GetSocketByte", AGKLua_GetSocketByte);
	lua_register(L, "GetSocketInteger", AGKLua_GetSocketInteger);
	lua_register(L, "GetSocketFloat", AGKLua_GetSocketFloat);
	lua_register(L, "GetSocketString", AGKLua_GetSocketString);
	lua_register(L, "SendSocketByte", AGKLua_SendSocketByte);
	lua_register(L, "SendSocketInteger", AGKLua_SendSocketInteger);
	lua_register(L, "SendSocketFloat", AGKLua_SendSocketFloat);
	lua_register(L, "SendSocketString", AGKLua_SendSocketString);
	lua_register(L, "CreateSocketListener", AGKLua_CreateSocketListener);
	lua_register(L, "GetSocketListenerConnection", AGKLua_GetSocketListenerConnection);
	lua_register(L, "DeleteSocketListener", AGKLua_DeleteSocketListener);
	lua_register(L, "HostNetwork", AGKLua_HostNetwork);
	lua_register(L, "SetNetworkNoMoreClients", AGKLua_SetNetworkNoMoreClients);
	lua_register(L, "JoinNetwork", AGKLua_JoinNetwork);
	lua_register(L, "IsNetworkActive", AGKLua_IsNetworkActive);
	lua_register(L, "GetDeviceIP", AGKLua_GetDeviceIP);
	lua_register(L, "GetDeviceIPv6", AGKLua_GetDeviceIPv6);
	lua_register(L, "CloseNetwork", AGKLua_CloseNetwork);
	lua_register(L, "SetNetworkLatency", AGKLua_SetNetworkLatency);
	lua_register(L, "GetNetworkMyClientID", AGKLua_GetNetworkMyClientID);
	lua_register(L, "GetNetworkNumClients", AGKLua_GetNetworkNumClients);
	lua_register(L, "GetNetworkFirstClient", AGKLua_GetNetworkFirstClient);
	lua_register(L, "GetNetworkNextClient", AGKLua_GetNetworkNextClient);
	lua_register(L, "GetNetworkClientDisconnected", AGKLua_GetNetworkClientDisconnected);
	lua_register(L, "DeleteNetworkClient", AGKLua_DeleteNetworkClient);
	lua_register(L, "GetNetworkClientName", AGKLua_GetNetworkClientName);
	lua_register(L, "GetNetworkClientPing", AGKLua_GetNetworkClientPing);
	lua_register(L, "GetNetworkServerID", AGKLua_GetNetworkServerID);
	lua_register(L, "SetNetworkLocalInteger", AGKLua_SetNetworkLocalInteger);
	lua_register(L, "SetNetworkLocalFloat", AGKLua_SetNetworkLocalFloat);
	lua_register(L, "GetNetworkClientInteger", AGKLua_GetNetworkClientInteger);
	lua_register(L, "GetNetworkClientFloat", AGKLua_GetNetworkClientFloat);
	lua_register(L, "CreateNetworkMessage", AGKLua_CreateNetworkMessage);
	lua_register(L, "AddNetworkMessageInteger", AGKLua_AddNetworkMessageInteger);
	lua_register(L, "AddNetworkMessageFloat", AGKLua_AddNetworkMessageFloat);
	lua_register(L, "AddNetworkMessageString", AGKLua_AddNetworkMessageString);
	lua_register(L, "GetNetworkMessageFromIP", AGKLua_GetNetworkMessageFromIP);
	lua_register(L, "GetNetworkMessageFromClient", AGKLua_GetNetworkMessageFromClient);
	lua_register(L, "GetNetworkMessageInteger", AGKLua_GetNetworkMessageInteger);
	lua_register(L, "GetNetworkMessageFloat", AGKLua_GetNetworkMessageFloat);
	lua_register(L, "GetNetworkMessageString", AGKLua_GetNetworkMessageString);
	lua_register(L, "DeleteNetworkMessage", AGKLua_DeleteNetworkMessage);
	lua_register(L, "SendNetworkMessage", AGKLua_SendNetworkMessage);
	lua_register(L, "GetNetworkMessage", AGKLua_GetNetworkMessage);
	lua_register(L, "SetNetworkClientUserData", AGKLua_SetNetworkClientUserData);
	lua_register(L, "GetNetworkClientUserData", AGKLua_GetNetworkClientUserData);
	lua_register(L, "CreateHTTPConnection", AGKLua_CreateHTTPConnection);
	lua_register(L, "DeleteHTTPConnection", AGKLua_DeleteHTTPConnection);
	lua_register(L, "SetHTTPHost", AGKLua_SetHTTPHost);
	lua_register(L, "CloseHTTPConnection", AGKLua_CloseHTTPConnection);
	lua_register(L, "SetHTTPTimeout", AGKLua_SetHTTPTimeout);
	lua_register(L, "SetHTTPVerifyCertificate", AGKLua_SetHTTPVerifyCertificate);
	lua_register(L, "SendHTTPRequest", AGKLua_SendHTTPRequest);
	lua_register(L, "SendHTTPRequestASync", AGKLua_SendHTTPRequestASync);
	lua_register(L, "SendHTTPFile", AGKLua_SendHTTPFile);
	lua_register(L, "GetHTTPResponse", AGKLua_GetHTTPResponse);
	lua_register(L, "GetHTTPResponseReady", AGKLua_GetHTTPResponseReady);
	lua_register(L, "GetHTTPFile", AGKLua_GetHTTPFile);
	lua_register(L, "GetHTTPFileComplete", AGKLua_GetHTTPFileComplete);
	lua_register(L, "GetHTTPFileProgress", AGKLua_GetHTTPFileProgress);
	lua_register(L, "SetErrorMode", AGKLua_SetErrorMode);
	lua_register(L, "GetLastError", AGKLua_GetLastError);
	lua_register(L, "GetErrorOccurred", AGKLua_GetErrorOccurred);
	lua_register(L, "Message", AGKLua_Message);
	lua_register(L, "GetJoystickExists", AGKLua_GetJoystickExists);
	lua_register(L, "GetRawMouseX", AGKLua_GetRawMouseX);
	lua_register(L, "GetRawMouseY", AGKLua_GetRawMouseY);
	lua_register(L, "GetRawMouseWheel", AGKLua_GetRawMouseWheel);
	lua_register(L, "GetRawMouseWheelDelta", AGKLua_GetRawMouseWheelDelta);
	lua_register(L, "GetRawMouseLeftPressed", AGKLua_GetRawMouseLeftPressed);
	lua_register(L, "GetRawMouseLeftState", AGKLua_GetRawMouseLeftState);
	lua_register(L, "GetRawMouseLeftReleased", AGKLua_GetRawMouseLeftReleased);
	lua_register(L, "GetRawMouseRightPressed", AGKLua_GetRawMouseRightPressed);
	lua_register(L, "GetRawMouseRightState", AGKLua_GetRawMouseRightState);
	lua_register(L, "GetRawMouseRightReleased", AGKLua_GetRawMouseRightReleased);
	lua_register(L, "GetRawMouseMiddlePressed", AGKLua_GetRawMouseMiddlePressed);
	lua_register(L, "GetRawMouseMiddleState", AGKLua_GetRawMouseMiddleState);
	lua_register(L, "GetRawMouseMiddleReleased", AGKLua_GetRawMouseMiddleReleased);
	lua_register(L, "GetAccelerometerExists", AGKLua_GetAccelerometerExists);
	lua_register(L, "GetGyroSensorExists", AGKLua_GetGyroSensorExists);
	lua_register(L, "GetProximitySensorExists", AGKLua_GetProximitySensorExists);
	lua_register(L, "GetLightSensorExists", AGKLua_GetLightSensorExists);
	lua_register(L, "GetMagneticSensorExists", AGKLua_GetMagneticSensorExists);
	lua_register(L, "GetRotationVectorSensorExists", AGKLua_GetRotationVectorSensorExists);
	lua_register(L, "GetRawAccelX", AGKLua_GetRawAccelX);
	lua_register(L, "GetRawAccelY", AGKLua_GetRawAccelY);
	lua_register(L, "GetRawAccelZ", AGKLua_GetRawAccelZ);
	lua_register(L, "GetRawGyroVelocityX", AGKLua_GetRawGyroVelocityX);
	lua_register(L, "GetRawGyroVelocityY", AGKLua_GetRawGyroVelocityY);
	lua_register(L, "GetRawGyroVelocityZ", AGKLua_GetRawGyroVelocityZ);
	lua_register(L, "GetRawProximityDistance", AGKLua_GetRawProximityDistance);
	lua_register(L, "GetRawLightLevel", AGKLua_GetRawLightLevel);
	lua_register(L, "GetRawMagneticX", AGKLua_GetRawMagneticX);
	lua_register(L, "GetRawMagneticY", AGKLua_GetRawMagneticY);
	lua_register(L, "GetRawMagneticZ", AGKLua_GetRawMagneticZ);
	lua_register(L, "GetRawRotationVectorX", AGKLua_GetRawRotationVectorX);
	lua_register(L, "GetRawRotationVectorY", AGKLua_GetRawRotationVectorY);
	lua_register(L, "GetRawRotationVectorZ", AGKLua_GetRawRotationVectorZ);
	lua_register(L, "GetRawRotationVectorW", AGKLua_GetRawRotationVectorW);
	lua_register(L, "GetRawRotationVectorX2", AGKLua_GetRawRotationVectorX2);
	lua_register(L, "GetRawRotationVectorY2", AGKLua_GetRawRotationVectorY2);
	lua_register(L, "GetRawRotationVectorZ2", AGKLua_GetRawRotationVectorZ2);
	lua_register(L, "GetRawRotationVectorW2", AGKLua_GetRawRotationVectorW2);
	lua_register(L, "CompleteRawJoystickDetection", AGKLua_CompleteRawJoystickDetection);
	lua_register(L, "GetRawJoystickExists", AGKLua_GetRawJoystickExists);
	lua_register(L, "GetRawJoystickConnected", AGKLua_GetRawJoystickConnected);
	lua_register(L, "GetRawJoystickX", AGKLua_GetRawJoystickX);
	lua_register(L, "GetRawJoystickY", AGKLua_GetRawJoystickY);
	lua_register(L, "GetRawJoystickZ", AGKLua_GetRawJoystickZ);
	lua_register(L, "GetRawJoystickRX", AGKLua_GetRawJoystickRX);
	lua_register(L, "GetRawJoystickRY", AGKLua_GetRawJoystickRY);
	lua_register(L, "GetRawJoystickRZ", AGKLua_GetRawJoystickRZ);
	lua_register(L, "GetRawJoystickButtonPressed", AGKLua_GetRawJoystickButtonPressed);
	lua_register(L, "GetRawJoystickButtonState", AGKLua_GetRawJoystickButtonState);
	lua_register(L, "GetRawJoystickButtonReleased", AGKLua_GetRawJoystickButtonReleased);
	lua_register(L, "SetRawJoystickDeadZone", AGKLua_SetRawJoystickDeadZone);
	lua_register(L, "AddVirtualJoystick", AGKLua_AddVirtualJoystick);
	lua_register(L, "DeleteVirtualJoystick", AGKLua_DeleteVirtualJoystick);
	lua_register(L, "GetVirtualJoystickExists", AGKLua_GetVirtualJoystickExists);
	lua_register(L, "GetVirtualJoystickX", AGKLua_GetVirtualJoystickX);
	lua_register(L, "GetVirtualJoystickY", AGKLua_GetVirtualJoystickY);
	lua_register(L, "SetVirtualJoystickAlpha", AGKLua_SetVirtualJoystickAlpha);
	lua_register(L, "SetVirtualJoystickPosition", AGKLua_SetVirtualJoystickPosition);
	lua_register(L, "SetVirtualJoystickSize", AGKLua_SetVirtualJoystickSize);
	lua_register(L, "SetVirtualJoystickActive", AGKLua_SetVirtualJoystickActive);
	lua_register(L, "SetVirtualJoystickVisible", AGKLua_SetVirtualJoystickVisible);
	lua_register(L, "SetVirtualJoystickImageInner", AGKLua_SetVirtualJoystickImageInner);
	lua_register(L, "SetVirtualJoystickImageOuter", AGKLua_SetVirtualJoystickImageOuter);
	lua_register(L, "SetVirtualJoystickDeadZone", AGKLua_SetVirtualJoystickDeadZone);
	lua_register(L, "AddVirtualButton", AGKLua_AddVirtualButton);
	lua_register(L, "DeleteVirtualButton", AGKLua_DeleteVirtualButton);
	lua_register(L, "GetVirtualButtonExists", AGKLua_GetVirtualButtonExists);
	lua_register(L, "GetVirtualButtonPressed", AGKLua_GetVirtualButtonPressed);
	lua_register(L, "GetVirtualButtonReleased", AGKLua_GetVirtualButtonReleased);
	lua_register(L, "GetVirtualButtonState", AGKLua_GetVirtualButtonState);
	lua_register(L, "SetVirtualButtonColor", AGKLua_SetVirtualButtonColor);
	lua_register(L, "SetVirtualButtonAlpha", AGKLua_SetVirtualButtonAlpha);
	lua_register(L, "SetVirtualButtonPosition", AGKLua_SetVirtualButtonPosition);
	//lua_register(L, "SetVirtualButtonSize", AGKLua_SetVirtualButtonSize);
	lua_register(L, "SetVirtualButtonSize", AGKLua_SetVirtualButtonSize);
	lua_register(L, "SetVirtualButtonActive", AGKLua_SetVirtualButtonActive);
	lua_register(L, "SetVirtualButtonVisible", AGKLua_SetVirtualButtonVisible);
	lua_register(L, "SetVirtualButtonImageUp", AGKLua_SetVirtualButtonImageUp);
	lua_register(L, "SetVirtualButtonImageDown", AGKLua_SetVirtualButtonImageDown);
	lua_register(L, "SetVirtualButtonText", AGKLua_SetVirtualButtonText);
	lua_register(L, "GetRawKeyPressed", AGKLua_GetRawKeyPressed);
	lua_register(L, "GetRawKeyState", AGKLua_GetRawKeyState);
	lua_register(L, "GetRawKeyReleased", AGKLua_GetRawKeyReleased);
	lua_register(L, "GetRawLastKey", AGKLua_GetRawLastKey);
	lua_register(L, "GetDirectionX", AGKLua_GetDirectionX);
	lua_register(L, "GetDirectionY", AGKLua_GetDirectionY);
	lua_register(L, "GetDirectionAngle", AGKLua_GetDirectionAngle);
	lua_register(L, "GetDirectionSpeed", AGKLua_GetDirectionSpeed);
	lua_register(L, "GetPointerPressed", AGKLua_GetPointerPressed);
	lua_register(L, "GetPointerReleased", AGKLua_GetPointerReleased);
	lua_register(L, "GetPointerState", AGKLua_GetPointerState);
	lua_register(L, "GetPointerX", AGKLua_GetPointerX);
	lua_register(L, "GetPointerY", AGKLua_GetPointerY);
	lua_register(L, "GetJoystickX", AGKLua_GetJoystickX);
	lua_register(L, "GetJoystickY", AGKLua_GetJoystickY);
	lua_register(L, "SetJoystickDeadZone", AGKLua_SetJoystickDeadZone);
	lua_register(L, "SetJoystickScreenPosition", AGKLua_SetJoystickScreenPosition);
	lua_register(L, "GetButtonPressed", AGKLua_GetButtonPressed);
	lua_register(L, "GetButtonState", AGKLua_GetButtonState);
	lua_register(L, "GetButtonReleased", AGKLua_GetButtonReleased);
	lua_register(L, "SetButtonScreenPosition", AGKLua_SetButtonScreenPosition);
	//lua_register(L, "StartTextInput", AGKLua_StartTextInput);
	lua_register(L, "StartTextInput", AGKLua_StartTextInput);
	lua_register(L, "StopTextInput", AGKLua_StopTextInput);
	lua_register(L, "GetTextInputState", AGKLua_GetTextInputState);
	lua_register(L, "GetTextInputCompleted", AGKLua_GetTextInputCompleted);
	lua_register(L, "GetTextInputCancelled", AGKLua_GetTextInputCancelled);
	lua_register(L, "GetTextInput", AGKLua_GetTextInput);
	lua_register(L, "GetLastChar", AGKLua_GetLastChar);
	lua_register(L, "SetCursorBlinkTime", AGKLua_SetCursorBlinkTime);
	lua_register(L, "SetTextInputMaxChars", AGKLua_SetTextInputMaxChars);
	lua_register(L, "CreateEditBox", AGKLua_CreateEditBox);
	lua_register(L, "GetEditBoxExists", AGKLua_GetEditBoxExists);
	lua_register(L, "DeleteEditBox", AGKLua_DeleteEditBox);
	lua_register(L, "GetEditBoxHasFocus", AGKLua_GetEditBoxHasFocus);
	lua_register(L, "GetCurrentEditBox", AGKLua_GetCurrentEditBox);
	lua_register(L, "SetEditBoxPosition", AGKLua_SetEditBoxPosition);
	lua_register(L, "SetEditBoxSize", AGKLua_SetEditBoxSize);
	lua_register(L, "SetEditBoxDepth", AGKLua_SetEditBoxDepth);
	lua_register(L, "SetEditBoxBorderSize", AGKLua_SetEditBoxBorderSize);
	lua_register(L, "SetEditBoxBorderColor", AGKLua_SetEditBoxBorderColor);
	lua_register(L, "SetEditBoxBackgroundColor", AGKLua_SetEditBoxBackgroundColor);
	lua_register(L, "SetEditBoxText", AGKLua_SetEditBoxText);
	lua_register(L, "SetEditBoxTextColor", AGKLua_SetEditBoxTextColor);
	lua_register(L, "SetEditBoxCursorColor", AGKLua_SetEditBoxCursorColor);
	lua_register(L, "SetEditBoxFontImage", AGKLua_SetEditBoxFontImage);
	lua_register(L, "SetEditBoxExtendedFontImage", AGKLua_SetEditBoxExtendedFontImage);
	lua_register(L, "SetEditBoxFont", AGKLua_SetEditBoxFont);
	lua_register(L, "SetEditBoxTextSize", AGKLua_SetEditBoxTextSize);
	lua_register(L, "SetEditBoxCursorPosition", AGKLua_SetEditBoxCursorPosition);
	lua_register(L, "SetEditBoxFocus", AGKLua_SetEditBoxFocus);
	lua_register(L, "SetEditBoxActive", AGKLua_SetEditBoxActive);
	lua_register(L, "SetEditBoxVisible", AGKLua_SetEditBoxVisible);
	lua_register(L, "SetEditBoxBorderImage", AGKLua_SetEditBoxBorderImage);
	lua_register(L, "SetEditBoxBackgroundImage", AGKLua_SetEditBoxBackgroundImage);
	lua_register(L, "SetEditBoxCursorBlinkTime", AGKLua_SetEditBoxCursorBlinkTime);
	lua_register(L, "SetEditBoxCursorWidth", AGKLua_SetEditBoxCursorWidth);
	lua_register(L, "SetEditBoxMaxChars", AGKLua_SetEditBoxMaxChars);
	lua_register(L, "SetEditBoxMaxLines", AGKLua_SetEditBoxMaxLines);
	lua_register(L, "SetEditBoxMultiLine", AGKLua_SetEditBoxMultiLine);
	lua_register(L, "SetEditBoxScissor", AGKLua_SetEditBoxScissor);
	lua_register(L, "SetEditBoxPasswordMode", AGKLua_SetEditBoxPasswordMode);
	lua_register(L, "SetEditBoxUseAlternateInput", AGKLua_SetEditBoxUseAlternateInput);
	lua_register(L, "SetEditBoxWrapMode", AGKLua_SetEditBoxWrapMode);
	lua_register(L, "FixEditBoxToScreen", AGKLua_FixEditBoxToScreen);
	lua_register(L, "GetEditBoxText", AGKLua_GetEditBoxText);
	lua_register(L, "GetEditBoxX", AGKLua_GetEditBoxX);
	lua_register(L, "GetEditBoxY", AGKLua_GetEditBoxY);
	lua_register(L, "GetEditBoxWidth", AGKLua_GetEditBoxWidth);
	lua_register(L, "GetEditBoxHeight", AGKLua_GetEditBoxHeight);
	lua_register(L, "GetEditBoxChanged", AGKLua_GetEditBoxChanged);
	lua_register(L, "GetEditBoxActive", AGKLua_GetEditBoxActive);
	lua_register(L, "GetEditBoxVisible", AGKLua_GetEditBoxVisible);
	lua_register(L, "GetEditBoxLines", AGKLua_GetEditBoxLines);
	lua_register(L, "GetEditBoxCursorPosition", AGKLua_GetEditBoxCursorPosition);
	lua_register(L, "GetManagedSpriteDrawnCount", AGKLua_GetManagedSpriteDrawnCount);
	lua_register(L, "GetManagedSpriteCount", AGKLua_GetManagedSpriteCount);
	lua_register(L, "GetManagedSpriteSortedCount", AGKLua_GetManagedSpriteSortedCount);
	lua_register(L, "GetPixelsDrawn", AGKLua_GetPixelsDrawn);
	lua_register(L, "GetManagedSpriteDrawCalls", AGKLua_GetManagedSpriteDrawCalls);
	lua_register(L, "GetParticleDrawnPointCount", AGKLua_GetParticleDrawnPointCount);
	lua_register(L, "GetParticleDrawnQuadCount", AGKLua_GetParticleDrawnQuadCount);
	lua_register(L, "GetUpdateTime", AGKLua_GetUpdateTime);
	lua_register(L, "GetPhysicsTime", AGKLua_GetPhysicsTime);
	lua_register(L, "GetDrawingSetupTime", AGKLua_GetDrawingSetupTime);
	lua_register(L, "GetDrawingTime", AGKLua_GetDrawingTime);
	lua_register(L, "GetLoadedImages", AGKLua_GetLoadedImages);
	lua_register(L, "GetUnassignedImages", AGKLua_GetUnassignedImages);
	lua_register(L, "GetUnassignedImageFileName", AGKLua_GetUnassignedImageFileName);
	lua_register(L, "GetImageMemoryUsage", AGKLua_GetImageMemoryUsage);
	lua_register(L, "GetLeapYear", AGKLua_GetLeapYear);
	lua_register(L, "GetUnixFromDate", AGKLua_GetUnixFromDate);
	lua_register(L, "GetYearFromUnix", AGKLua_GetYearFromUnix);
	lua_register(L, "GetMonthFromUnix", AGKLua_GetMonthFromUnix);
	lua_register(L, "GetDaysFromUnix", AGKLua_GetDaysFromUnix);
	lua_register(L, "GetHoursFromUnix", AGKLua_GetHoursFromUnix);
	lua_register(L, "GetMinutesFromUnix", AGKLua_GetMinutesFromUnix);
	lua_register(L, "GetSecondsFromUnix", AGKLua_GetSecondsFromUnix);
	lua_register(L, "SetInneractiveDetails", AGKLua_SetInneractiveDetails);
	lua_register(L, "SetAdMobDetails", AGKLua_SetAdMobDetails);
	lua_register(L, "SetAdMobRewardAdDetails", AGKLua_SetAdMobRewardAdDetails);
	lua_register(L, "SetChartboostDetails", AGKLua_SetChartboostDetails);
	lua_register(L, "SetAmazonAdDetails", AGKLua_SetAmazonAdDetails);
	lua_register(L, "SetAmazonAdTesting", AGKLua_SetAmazonAdTesting);
	lua_register(L, "SetAdMobTesting", AGKLua_SetAdMobTesting);
	lua_register(L, "ShowFullscreenAdvertAdMob", AGKLua_ShowFullscreenAdvertAdMob);
	lua_register(L, "ShowFullscreenAdvertChartboost", AGKLua_ShowFullscreenAdvertChartboost);
	lua_register(L, "ShowFullscreenAdvertAmazon", AGKLua_ShowFullscreenAdvertAmazon);
	lua_register(L, "GetFullscreenAdvertLoadedAdMob", AGKLua_GetFullscreenAdvertLoadedAdMob);
	lua_register(L, "GetFullscreenAdvertLoadedChartboost", AGKLua_GetFullscreenAdvertLoadedChartboost);
	lua_register(L, "GetFullscreenAdvertLoadedAmazon", AGKLua_GetFullscreenAdvertLoadedAmazon);
	lua_register(L, "ShowRewardAdAdMob", AGKLua_ShowRewardAdAdMob);
	lua_register(L, "GetRewardAdLoadedAdMob", AGKLua_GetRewardAdLoadedAdMob);
	lua_register(L, "GetRewardAdRewardedAdMob", AGKLua_GetRewardAdRewardedAdMob);
	lua_register(L, "ResetRewardAdMob", AGKLua_ResetRewardAdMob);
	lua_register(L, "ShowRewardAdChartboost", AGKLua_ShowRewardAdChartboost);
	lua_register(L, "CacheRewardAdChartboost", AGKLua_CacheRewardAdChartboost);
	lua_register(L, "GetRewardAdLoadedChartboost", AGKLua_GetRewardAdLoadedChartboost);
	lua_register(L, "GetRewardAdRewardedChartboost", AGKLua_GetRewardAdRewardedChartboost);
	lua_register(L, "ResetRewardChartboost", AGKLua_ResetRewardChartboost);
	lua_register(L, "CreateFullscreenAdvert", AGKLua_CreateFullscreenAdvert);
	lua_register(L, "CreateAdvert", AGKLua_CreateAdvert);
	lua_register(L, "CreateAdvertEx", AGKLua_CreateAdvertEx);
	lua_register(L, "SetAdvertPosition", AGKLua_SetAdvertPosition);
	lua_register(L, "SetAdvertLocation", AGKLua_SetAdvertLocation);
	lua_register(L, "SetAdvertLocationEx", AGKLua_SetAdvertLocationEx);
	lua_register(L, "SetAdvertVisible", AGKLua_SetAdvertVisible);
	lua_register(L, "RequestAdvertRefresh", AGKLua_RequestAdvertRefresh);
	lua_register(L, "DeleteAdvert", AGKLua_DeleteAdvert);
	lua_register(L, "CreateZip", AGKLua_CreateZip);
	lua_register(L, "AddZipEntry", AGKLua_AddZipEntry);
	lua_register(L, "CloseZip", AGKLua_CloseZip);
	//lua_register(L, "ExtractZip", AGKLua_ExtractZip);
	lua_register(L, "ExtractZip", AGKLua_ExtractZip);
	//lua_register(L, "Log", AGKLua_Log);
	lua_register(L, "Log", AGKLua_Log);
	lua_register(L, "RateApp", AGKLua_RateApp);
	lua_register(L, "RequestAppReview", AGKLua_RequestAppReview);
	lua_register(L, "InAppPurchaseSetKeys", AGKLua_InAppPurchaseSetKeys);
	lua_register(L, "InAppPurchaseSetTitle", AGKLua_InAppPurchaseSetTitle);
	lua_register(L, "InAppPurchaseAddProductID", AGKLua_InAppPurchaseAddProductID);
	lua_register(L, "InAppPurchaseSetup", AGKLua_InAppPurchaseSetup);
	lua_register(L, "GetInAppPurchaseAvailable", AGKLua_GetInAppPurchaseAvailable);
	lua_register(L, "InAppPurchaseActivate", AGKLua_InAppPurchaseActivate);
	lua_register(L, "GetInAppPurchaseLocalPrice", AGKLua_GetInAppPurchaseLocalPrice);
	lua_register(L, "GetInAppPurchaseDescription", AGKLua_GetInAppPurchaseDescription);
	lua_register(L, "GetInAppPurchaseState", AGKLua_GetInAppPurchaseState);
	lua_register(L, "InAppPurchaseRestore", AGKLua_InAppPurchaseRestore);
	lua_register(L, "GetInAppPurchaseSignature", AGKLua_GetInAppPurchaseSignature);
	lua_register(L, "TwitterSetup", AGKLua_TwitterSetup);
	lua_register(L, "TwitterMessage", AGKLua_TwitterMessage);
	lua_register(L, "FacebookSetup", AGKLua_FacebookSetup);
	lua_register(L, "GetFacebookLoggedIn", AGKLua_GetFacebookLoggedIn);
	lua_register(L, "FacebookGetUserID", AGKLua_FacebookGetUserID);
	lua_register(L, "FacebookGetUserName", AGKLua_FacebookGetUserName);
	lua_register(L, "FacebookGetAccessToken", AGKLua_FacebookGetAccessToken);
	lua_register(L, "FacebookLogin", AGKLua_FacebookLogin);
	lua_register(L, "FacebookLogout", AGKLua_FacebookLogout);
	lua_register(L, "FacebookPostOnMyWall", AGKLua_FacebookPostOnMyWall);
	lua_register(L, "FacebookPostOnFriendsWall", AGKLua_FacebookPostOnFriendsWall);
	lua_register(L, "FacebookInviteFriend", AGKLua_FacebookInviteFriend);
	lua_register(L, "FacebookShowLikeButton", AGKLua_FacebookShowLikeButton);
	lua_register(L, "FacebookDestroyLikeButton", AGKLua_FacebookDestroyLikeButton);
	lua_register(L, "FacebookGetFriends", AGKLua_FacebookGetFriends);
	lua_register(L, "FacebookGetFriendsState", AGKLua_FacebookGetFriendsState);
	lua_register(L, "FacebookGetFriendsCount", AGKLua_FacebookGetFriendsCount);
	lua_register(L, "FacebookGetFriendsName", AGKLua_FacebookGetFriendsName);
	lua_register(L, "FacebookGetFriendsID", AGKLua_FacebookGetFriendsID);
	lua_register(L, "FacebookDownloadFriendsPhoto", AGKLua_FacebookDownloadFriendsPhoto);
	lua_register(L, "GetFacebookDownloadState", AGKLua_GetFacebookDownloadState);
	lua_register(L, "GetFacebookDownloadFile", AGKLua_GetFacebookDownloadFile);
	lua_register(L, "NotificationCreate", AGKLua_NotificationCreate);
	lua_register(L, "GetNotification", AGKLua_GetNotification);
	lua_register(L, "GetNotificationData", AGKLua_GetNotificationData);
	lua_register(L, "NotificationReset", AGKLua_NotificationReset);
	//lua_register(L, "SetLocalNotification", AGKLua_SetLocalNotification);
	lua_register(L, "SetLocalNotification", AGKLua_SetLocalNotification);
	lua_register(L, "CancelLocalNotification", AGKLua_CancelLocalNotification);
	lua_register(L, "GetLocalNotificationExists", AGKLua_GetLocalNotificationExists);
	lua_register(L, "GetLocalNotificationTime", AGKLua_GetLocalNotificationTime);
	lua_register(L, "GetLocalNotificationMessage", AGKLua_GetLocalNotificationMessage);
	//lua_register(L, "MakeColor", AGKLua_MakeColor);
	lua_register(L, "MakeColor", AGKLua_MakeColor);
	lua_register(L, "GetColorRed", AGKLua_GetColorRed);
	lua_register(L, "GetColorGreen", AGKLua_GetColorGreen);
	lua_register(L, "GetColorBlue", AGKLua_GetColorBlue);
	//lua_register(L, "DrawLine", AGKLua_DrawLine);
	lua_register(L, "DrawLine", AGKLua_DrawLine);
	lua_register(L, "DrawBox", AGKLua_DrawBox);
	lua_register(L, "DrawEllipse", AGKLua_DrawEllipse);
	lua_register(L, "CreateMemblock", AGKLua_CreateMemblock);
	lua_register(L, "GetMemblockExists", AGKLua_GetMemblockExists);
	lua_register(L, "DeleteMemblock", AGKLua_DeleteMemblock);
	lua_register(L, "CopyMemblock", AGKLua_CopyMemblock);
	lua_register(L, "GetMemblockSize", AGKLua_GetMemblockSize);
	lua_register(L, "GetMemblockByte", AGKLua_GetMemblockByte);
	lua_register(L, "GetMemblockByteSigned", AGKLua_GetMemblockByteSigned);
	lua_register(L, "GetMemblockShort", AGKLua_GetMemblockShort);
	lua_register(L, "GetMemblockInt", AGKLua_GetMemblockInt);
	lua_register(L, "GetMemblockFloat", AGKLua_GetMemblockFloat);
	lua_register(L, "GetMemblockString", AGKLua_GetMemblockString);
	lua_register(L, "SetMemblockByte", AGKLua_SetMemblockByte);
	lua_register(L, "SetMemblockByteSigned", AGKLua_SetMemblockByteSigned);
	lua_register(L, "SetMemblockShort", AGKLua_SetMemblockShort);
	lua_register(L, "SetMemblockInt", AGKLua_SetMemblockInt);
	lua_register(L, "SetMemblockFloat", AGKLua_SetMemblockFloat);
	lua_register(L, "SetMemblockString", AGKLua_SetMemblockString);
	lua_register(L, "CreateMemblockFromImage", AGKLua_CreateMemblockFromImage);
	lua_register(L, "CreateImageFromMemblock", AGKLua_CreateImageFromMemblock);
	lua_register(L, "CreateMemblockFromSound", AGKLua_CreateMemblockFromSound);
	lua_register(L, "CreateSoundFromMemblock", AGKLua_CreateSoundFromMemblock);
	lua_register(L, "CreateMemblockFromFile", AGKLua_CreateMemblockFromFile);
	lua_register(L, "CreateFileFromMemblock", AGKLua_CreateFileFromMemblock);
	lua_register(L, "CreateMemblockFromObjectMesh", AGKLua_CreateMemblockFromObjectMesh);
	lua_register(L, "CreateObjectFromMeshMemblock", AGKLua_CreateObjectFromMeshMemblock);
	lua_register(L, "SetObjectMeshFromMemblock", AGKLua_SetObjectMeshFromMemblock);
	lua_register(L, "AddObjectMeshFromMemblock", AGKLua_AddObjectMeshFromMemblock);
	lua_register(L, "SetMeshMemblockVertexPosition", AGKLua_SetMeshMemblockVertexPosition);
	lua_register(L, "SetMeshMemblockVertexNormal", AGKLua_SetMeshMemblockVertexNormal);
	lua_register(L, "SetMeshMemblockVertexUV", AGKLua_SetMeshMemblockVertexUV);
	lua_register(L, "GetMeshMemblockVertexX", AGKLua_GetMeshMemblockVertexX);
	lua_register(L, "GetMeshMemblockVertexY", AGKLua_GetMeshMemblockVertexY);
	lua_register(L, "GetMeshMemblockVertexZ", AGKLua_GetMeshMemblockVertexZ);
	lua_register(L, "GetMeshMemblockVertexNormalX", AGKLua_GetMeshMemblockVertexNormalX);
	lua_register(L, "GetMeshMemblockVertexNormalY", AGKLua_GetMeshMemblockVertexNormalY);
	lua_register(L, "GetMeshMemblockVertexNormalZ", AGKLua_GetMeshMemblockVertexNormalZ);
	lua_register(L, "GetMeshMemblockVertexU", AGKLua_GetMeshMemblockVertexU);
	lua_register(L, "GetMeshMemblockVertexV", AGKLua_GetMeshMemblockVertexV);
	lua_register(L, "SetGlobal3DDepth", AGKLua_SetGlobal3DDepth);
	lua_register(L, "CreateObjectBox", AGKLua_CreateObjectBox);
	lua_register(L, "CreateObjectCapsule", AGKLua_CreateObjectCapsule);
	lua_register(L, "CreateObjectSphere", AGKLua_CreateObjectSphere);
	lua_register(L, "CreateObjectCone", AGKLua_CreateObjectCone);
	lua_register(L, "CreateObjectCylinder", AGKLua_CreateObjectCylinder);
	lua_register(L, "CreateObjectPlane", AGKLua_CreateObjectPlane);
	lua_register(L, "CreateObjectQuad", AGKLua_CreateObjectQuad);
	lua_register(L, "CreateObjectFromHeightMap", AGKLua_CreateObjectFromHeightMap);
	lua_register(L, "CreateObjectFromObjectMesh", AGKLua_CreateObjectFromObjectMesh);
	lua_register(L, "LoadObject", AGKLua_LoadObject);
	lua_register(L, "LoadObjectWithChildren", AGKLua_LoadObjectWithChildren);
	lua_register(L, "SaveObject", AGKLua_SaveObject);
	lua_register(L, "CloneObject", AGKLua_CloneObject);
	lua_register(L, "InstanceObject", AGKLua_InstanceObject);
	lua_register(L, "GetObjectExists", AGKLua_GetObjectExists);
	lua_register(L, "DeleteObject", AGKLua_DeleteObject);
	lua_register(L, "DeleteObjectWithChildren", AGKLua_DeleteObjectWithChildren);
	lua_register(L, "DeleteAllObjects", AGKLua_DeleteAllObjects);
	lua_register(L, "GetObjectNumChildren", AGKLua_GetObjectNumChildren);
	lua_register(L, "GetObjectChildID", AGKLua_GetObjectChildID);
	lua_register(L, "GetObjectNumBones", AGKLua_GetObjectNumBones);
	lua_register(L, "GetObjectBoneByName", AGKLua_GetObjectBoneByName);
	lua_register(L, "GetObjectNumMeshes", AGKLua_GetObjectNumMeshes);
	lua_register(L, "GetObjectMeshName", AGKLua_GetObjectMeshName);
	lua_register(L, "SetObjectMeshImage", AGKLua_SetObjectMeshImage);
	lua_register(L, "SetObjectMeshLightMap", AGKLua_SetObjectMeshLightMap);
	lua_register(L, "SetObjectMeshShader", AGKLua_SetObjectMeshShader);
	lua_register(L, "GetObjectMeshVSSource", AGKLua_GetObjectMeshVSSource);
	lua_register(L, "GetObjectMeshPSSource", AGKLua_GetObjectMeshPSSource);
	lua_register(L, "SetObjectMeshUVOffset", AGKLua_SetObjectMeshUVOffset);
	lua_register(L, "SetObjectMeshUVScale", AGKLua_SetObjectMeshUVScale);
	lua_register(L, "GetObjectMeshSizeMinX", AGKLua_GetObjectMeshSizeMinX);
	lua_register(L, "GetObjectMeshSizeMaxX", AGKLua_GetObjectMeshSizeMaxX);
	lua_register(L, "GetObjectMeshSizeMinY", AGKLua_GetObjectMeshSizeMinY);
	lua_register(L, "GetObjectMeshSizeMaxY", AGKLua_GetObjectMeshSizeMaxY);
	lua_register(L, "GetObjectMeshSizeMinZ", AGKLua_GetObjectMeshSizeMinZ);
	lua_register(L, "GetObjectMeshSizeMaxZ", AGKLua_GetObjectMeshSizeMaxZ);
	lua_register(L, "FixObjectToObject", AGKLua_FixObjectToObject);
	lua_register(L, "FixObjectToBone", AGKLua_FixObjectToBone);
	lua_register(L, "GetObjectNumAnimations", AGKLua_GetObjectNumAnimations);
	lua_register(L, "GetObjectAnimationName", AGKLua_GetObjectAnimationName);
	lua_register(L, "PlayObjectAnimation", AGKLua_PlayObjectAnimation);
	lua_register(L, "SetObjectAnimationFrame", AGKLua_SetObjectAnimationFrame);
	lua_register(L, "StopObjectAnimation", AGKLua_StopObjectAnimation);
	lua_register(L, "ResetObjectAnimation", AGKLua_ResetObjectAnimation);
	lua_register(L, "SetObjectAnimationSpeed", AGKLua_SetObjectAnimationSpeed);
	lua_register(L, "GetObjectIsAnimating", AGKLua_GetObjectIsAnimating);
	lua_register(L, "GetObjectIsTweening", AGKLua_GetObjectIsTweening);
	lua_register(L, "GetObjectAnimationTime", AGKLua_GetObjectAnimationTime);
	lua_register(L, "GetObjectAnimationDuration", AGKLua_GetObjectAnimationDuration);
	lua_register(L, "SetObjectBonePosition", AGKLua_SetObjectBonePosition);
	lua_register(L, "SetObjectBoneRotation", AGKLua_SetObjectBoneRotation);
	lua_register(L, "SetObjectBoneRotationQuat", AGKLua_SetObjectBoneRotationQuat);
	lua_register(L, "SetObjectBoneLookAt", AGKLua_SetObjectBoneLookAt);
	lua_register(L, "SetObjectBoneCanAnimate", AGKLua_SetObjectBoneCanAnimate);
	lua_register(L, "RotateObjectBoneLocalX", AGKLua_RotateObjectBoneLocalX);
	lua_register(L, "RotateObjectBoneLocalY", AGKLua_RotateObjectBoneLocalY);
	lua_register(L, "RotateObjectBoneLocalZ", AGKLua_RotateObjectBoneLocalZ);
	lua_register(L, "GetObjectBoneName", AGKLua_GetObjectBoneName);
	lua_register(L, "GetObjectBoneX", AGKLua_GetObjectBoneX);
	lua_register(L, "GetObjectBoneY", AGKLua_GetObjectBoneY);
	lua_register(L, "GetObjectBoneZ", AGKLua_GetObjectBoneZ);
	lua_register(L, "GetObjectBoneAngleX", AGKLua_GetObjectBoneAngleX);
	lua_register(L, "GetObjectBoneAngleY", AGKLua_GetObjectBoneAngleY);
	lua_register(L, "GetObjectBoneAngleZ", AGKLua_GetObjectBoneAngleZ);
	lua_register(L, "GetObjectBoneQuatW", AGKLua_GetObjectBoneQuatW);
	lua_register(L, "GetObjectBoneQuatX", AGKLua_GetObjectBoneQuatX);
	lua_register(L, "GetObjectBoneQuatY", AGKLua_GetObjectBoneQuatY);
	lua_register(L, "GetObjectBoneQuatZ", AGKLua_GetObjectBoneQuatZ);
	lua_register(L, "GetObjectBoneWorldX", AGKLua_GetObjectBoneWorldX);
	lua_register(L, "GetObjectBoneWorldY", AGKLua_GetObjectBoneWorldY);
	lua_register(L, "GetObjectBoneWorldZ", AGKLua_GetObjectBoneWorldZ);
	lua_register(L, "GetObjectBoneWorldAngleX", AGKLua_GetObjectBoneWorldAngleX);
	lua_register(L, "GetObjectBoneWorldAngleY", AGKLua_GetObjectBoneWorldAngleY);
	lua_register(L, "GetObjectBoneWorldAngleZ", AGKLua_GetObjectBoneWorldAngleZ);
	lua_register(L, "GetObjectBoneWorldQuatW", AGKLua_GetObjectBoneWorldQuatW);
	lua_register(L, "GetObjectBoneWorldQuatX", AGKLua_GetObjectBoneWorldQuatX);
	lua_register(L, "GetObjectBoneWorldQuatY", AGKLua_GetObjectBoneWorldQuatY);
	lua_register(L, "GetObjectBoneWorldQuatZ", AGKLua_GetObjectBoneWorldQuatZ);
	lua_register(L, "SetObjectPosition", AGKLua_SetObjectPosition);
	lua_register(L, "SetObjectRotation", AGKLua_SetObjectRotation);
	lua_register(L, "SetObjectRotationQuat", AGKLua_SetObjectRotationQuat);
	lua_register(L, "SetObjectScale", AGKLua_SetObjectScale);
	lua_register(L, "SetObjectScalePermanent", AGKLua_SetObjectScalePermanent);
	lua_register(L, "MoveObjectLocalX", AGKLua_MoveObjectLocalX);
	lua_register(L, "MoveObjectLocalY", AGKLua_MoveObjectLocalY);
	lua_register(L, "MoveObjectLocalZ", AGKLua_MoveObjectLocalZ);
	lua_register(L, "RotateObjectLocalX", AGKLua_RotateObjectLocalX);
	lua_register(L, "RotateObjectLocalY", AGKLua_RotateObjectLocalY);
	lua_register(L, "RotateObjectLocalZ", AGKLua_RotateObjectLocalZ);
	lua_register(L, "RotateObjectGlobalX", AGKLua_RotateObjectGlobalX);
	lua_register(L, "RotateObjectGlobalY", AGKLua_RotateObjectGlobalY);
	lua_register(L, "RotateObjectGlobalZ", AGKLua_RotateObjectGlobalZ);
	lua_register(L, "GetObjectX", AGKLua_GetObjectX);
	lua_register(L, "GetObjectY", AGKLua_GetObjectY);
	lua_register(L, "GetObjectZ", AGKLua_GetObjectZ);
	lua_register(L, "GetObjectAngleX", AGKLua_GetObjectAngleX);
	lua_register(L, "GetObjectAngleY", AGKLua_GetObjectAngleY);
	lua_register(L, "GetObjectAngleZ", AGKLua_GetObjectAngleZ);
	lua_register(L, "GetObjectQuatW", AGKLua_GetObjectQuatW);
	lua_register(L, "GetObjectQuatX", AGKLua_GetObjectQuatX);
	lua_register(L, "GetObjectQuatY", AGKLua_GetObjectQuatY);
	lua_register(L, "GetObjectQuatZ", AGKLua_GetObjectQuatZ);
	lua_register(L, "GetObjectWorldX", AGKLua_GetObjectWorldX);
	lua_register(L, "GetObjectWorldY", AGKLua_GetObjectWorldY);
	lua_register(L, "GetObjectWorldZ", AGKLua_GetObjectWorldZ);
	lua_register(L, "GetObjectWorldAngleX", AGKLua_GetObjectWorldAngleX);
	lua_register(L, "GetObjectWorldAngleY", AGKLua_GetObjectWorldAngleY);
	lua_register(L, "GetObjectWorldAngleZ", AGKLua_GetObjectWorldAngleZ);
	lua_register(L, "GetObjectWorldQuatW", AGKLua_GetObjectWorldQuatW);
	lua_register(L, "GetObjectWorldQuatX", AGKLua_GetObjectWorldQuatX);
	lua_register(L, "GetObjectWorldQuatY", AGKLua_GetObjectWorldQuatY);
	lua_register(L, "GetObjectWorldQuatZ", AGKLua_GetObjectWorldQuatZ);
	lua_register(L, "GetObjectSizeMinX", AGKLua_GetObjectSizeMinX);
	lua_register(L, "GetObjectSizeMaxX", AGKLua_GetObjectSizeMaxX);
	lua_register(L, "GetObjectSizeMinY", AGKLua_GetObjectSizeMinY);
	lua_register(L, "GetObjectSizeMaxY", AGKLua_GetObjectSizeMaxY);
	lua_register(L, "GetObjectSizeMinZ", AGKLua_GetObjectSizeMinZ);
	lua_register(L, "GetObjectSizeMaxZ", AGKLua_GetObjectSizeMaxZ);
	lua_register(L, "SetObjectLookAt", AGKLua_SetObjectLookAt);
	lua_register(L, "FixObjectPivot", AGKLua_FixObjectPivot);
	lua_register(L, "GetObjectHeightMapHeight", AGKLua_GetObjectHeightMapHeight);
	lua_register(L, "SetObjectImage", AGKLua_SetObjectImage);
	lua_register(L, "SetObjectLightMap", AGKLua_SetObjectLightMap);
	lua_register(L, "SetObjectShader", AGKLua_SetObjectShader);
	lua_register(L, "SetObjectColor", AGKLua_SetObjectColor);
	lua_register(L, "SetObjectColorEmissive", AGKLua_SetObjectColorEmissive);
	lua_register(L, "SetObjectLightMode", AGKLua_SetObjectLightMode);
	lua_register(L, "SetObjectScreenCulling", AGKLua_SetObjectScreenCulling);
	lua_register(L, "SetObjectUVOffset", AGKLua_SetObjectUVOffset);
	lua_register(L, "SetObjectUVScale", AGKLua_SetObjectUVScale);
	lua_register(L, "SetObjectFogMode", AGKLua_SetObjectFogMode);
	lua_register(L, "SetObjectDepthReadMode", AGKLua_SetObjectDepthReadMode);
	lua_register(L, "SetObjectDepthWrite", AGKLua_SetObjectDepthWrite);
	lua_register(L, "SetObjectDepthBias", AGKLua_SetObjectDepthBias);
	lua_register(L, "SetObjectDepthRange", AGKLua_SetObjectDepthRange);
	lua_register(L, "SetObjectTransparency", AGKLua_SetObjectTransparency);
	lua_register(L, "SetObjectAlphaMask", AGKLua_SetObjectAlphaMask);
	lua_register(L, "SetObjectCullMode", AGKLua_SetObjectCullMode);
	lua_register(L, "SetObjectVisible", AGKLua_SetObjectVisible);
	lua_register(L, "GetObjectDepthReadMode", AGKLua_GetObjectDepthReadMode);
	lua_register(L, "GetObjectDepthWrite", AGKLua_GetObjectDepthWrite);
	lua_register(L, "GetObjectDepthBias", AGKLua_GetObjectDepthBias);
	lua_register(L, "GetObjectTransparency", AGKLua_GetObjectTransparency);
	lua_register(L, "GetObjectCullMode", AGKLua_GetObjectCullMode);
	lua_register(L, "GetObjectVisible", AGKLua_GetObjectVisible);
	lua_register(L, "GetObjectInScreen", AGKLua_GetObjectInScreen);
	lua_register(L, "GetObjectName", AGKLua_GetObjectName);
	lua_register(L, "SetObjectShaderConstantByName", AGKLua_SetObjectShaderConstantByName);
	lua_register(L, "SetObjectShaderConstantArrayByName", AGKLua_SetObjectShaderConstantArrayByName);
	lua_register(L, "SetObjectShaderConstantDefault", AGKLua_SetObjectShaderConstantDefault);
	lua_register(L, "DrawObject", AGKLua_DrawObject);
	lua_register(L, "GetScreenXFrom3D", AGKLua_GetScreenXFrom3D);
	lua_register(L, "GetScreenYFrom3D", AGKLua_GetScreenYFrom3D);
	lua_register(L, "Get3DVectorXFromScreen", AGKLua_Get3DVectorXFromScreen);
	lua_register(L, "Get3DVectorYFromScreen", AGKLua_Get3DVectorYFromScreen);
	lua_register(L, "Get3DVectorZFromScreen", AGKLua_Get3DVectorZFromScreen);
	lua_register(L, "SetObjectCollisionMode", AGKLua_SetObjectCollisionMode);
	lua_register(L, "ObjectRayCast", AGKLua_ObjectRayCast);
	lua_register(L, "ObjectSphereCast", AGKLua_ObjectSphereCast);
	lua_register(L, "ObjectSphereSlide", AGKLua_ObjectSphereSlide);
	lua_register(L, "GetObjectRayCastNumHits", AGKLua_GetObjectRayCastNumHits);
	lua_register(L, "GetObjectRayCastHitID", AGKLua_GetObjectRayCastHitID);
	lua_register(L, "GetObjectRayCastX", AGKLua_GetObjectRayCastX);
	lua_register(L, "GetObjectRayCastY", AGKLua_GetObjectRayCastY);
	lua_register(L, "GetObjectRayCastZ", AGKLua_GetObjectRayCastZ);
	lua_register(L, "GetObjectRayCastSlideX", AGKLua_GetObjectRayCastSlideX);
	lua_register(L, "GetObjectRayCastSlideY", AGKLua_GetObjectRayCastSlideY);
	lua_register(L, "GetObjectRayCastSlideZ", AGKLua_GetObjectRayCastSlideZ);
	lua_register(L, "GetObjectRayCastNormalX", AGKLua_GetObjectRayCastNormalX);
	lua_register(L, "GetObjectRayCastNormalY", AGKLua_GetObjectRayCastNormalY);
	lua_register(L, "GetObjectRayCastNormalZ", AGKLua_GetObjectRayCastNormalZ);
	lua_register(L, "GetObjectRayCastBounceX", AGKLua_GetObjectRayCastBounceX);
	lua_register(L, "GetObjectRayCastBounceY", AGKLua_GetObjectRayCastBounceY);
	lua_register(L, "GetObjectRayCastBounceZ", AGKLua_GetObjectRayCastBounceZ);
	lua_register(L, "GetObjectRayCastDistance", AGKLua_GetObjectRayCastDistance);
	lua_register(L, "SetFogMode", AGKLua_SetFogMode);
	lua_register(L, "SetFogColor", AGKLua_SetFogColor);
	lua_register(L, "SetFogSunColor", AGKLua_SetFogSunColor);
	lua_register(L, "SetFogRange", AGKLua_SetFogRange);
	lua_register(L, "GetFogMode", AGKLua_GetFogMode);
	lua_register(L, "SetSkyBoxVisible", AGKLua_SetSkyBoxVisible);
	lua_register(L, "SetSkyBoxSkyColor", AGKLua_SetSkyBoxSkyColor);
	lua_register(L, "SetSkyBoxHorizonColor", AGKLua_SetSkyBoxHorizonColor);
	lua_register(L, "SetSkyBoxSunColor", AGKLua_SetSkyBoxSunColor);
	lua_register(L, "SetSkyBoxHorizonSize", AGKLua_SetSkyBoxHorizonSize);
	lua_register(L, "SetSkyBoxSunVisible", AGKLua_SetSkyBoxSunVisible);
	lua_register(L, "SetSkyBoxSunSize", AGKLua_SetSkyBoxSunSize);
	lua_register(L, "LoadShader", AGKLua_LoadShader);
	lua_register(L, "LoadFullScreenShader", AGKLua_LoadFullScreenShader);
	lua_register(L, "LoadSpriteShader", AGKLua_LoadSpriteShader);
	lua_register(L, "SetShaderConstantByName", AGKLua_SetShaderConstantByName);
	lua_register(L, "SetShaderConstantArrayByName", AGKLua_SetShaderConstantArrayByName);
	lua_register(L, "SetCameraPosition", AGKLua_SetCameraPosition);
	lua_register(L, "SetCameraRotationQuat", AGKLua_SetCameraRotationQuat);
	lua_register(L, "SetCameraRotation", AGKLua_SetCameraRotation);
	lua_register(L, "MoveCameraLocalX", AGKLua_MoveCameraLocalX);
	lua_register(L, "MoveCameraLocalY", AGKLua_MoveCameraLocalY);
	lua_register(L, "MoveCameraLocalZ", AGKLua_MoveCameraLocalZ);
	lua_register(L, "RotateCameraLocalX", AGKLua_RotateCameraLocalX);
	lua_register(L, "RotateCameraLocalY", AGKLua_RotateCameraLocalY);
	lua_register(L, "RotateCameraLocalZ", AGKLua_RotateCameraLocalZ);
	lua_register(L, "RotateCameraGlobalX", AGKLua_RotateCameraGlobalX);
	lua_register(L, "RotateCameraGlobalY", AGKLua_RotateCameraGlobalY);
	lua_register(L, "RotateCameraGlobalZ", AGKLua_RotateCameraGlobalZ);
	lua_register(L, "GetCameraX", AGKLua_GetCameraX);
	lua_register(L, "GetCameraY", AGKLua_GetCameraY);
	lua_register(L, "GetCameraZ", AGKLua_GetCameraZ);
	lua_register(L, "GetCameraAngleX", AGKLua_GetCameraAngleX);
	lua_register(L, "GetCameraAngleY", AGKLua_GetCameraAngleY);
	lua_register(L, "GetCameraAngleZ", AGKLua_GetCameraAngleZ);
	lua_register(L, "GetCameraQuatW", AGKLua_GetCameraQuatW);
	lua_register(L, "GetCameraQuatX", AGKLua_GetCameraQuatX);
	lua_register(L, "GetCameraQuatY", AGKLua_GetCameraQuatY);
	lua_register(L, "GetCameraQuatZ", AGKLua_GetCameraQuatZ);
	lua_register(L, "SetCameraLookAt", AGKLua_SetCameraLookAt);
	lua_register(L, "SetCameraRange", AGKLua_SetCameraRange);
	lua_register(L, "SetCameraAspect", AGKLua_SetCameraAspect);
	lua_register(L, "SetCameraFOV", AGKLua_SetCameraFOV);
	lua_register(L, "SetCameraOrthoWidth", AGKLua_SetCameraOrthoWidth);
	lua_register(L, "SetCameraBounds", AGKLua_SetCameraBounds);
	lua_register(L, "SetCameraOffCenter", AGKLua_SetCameraOffCenter);
	lua_register(L, "GetCameraFOV", AGKLua_GetCameraFOV);
	lua_register(L, "CreatePointLight", AGKLua_CreatePointLight);
	lua_register(L, "GetPointLightExists", AGKLua_GetPointLightExists);
	lua_register(L, "DeletePointLight", AGKLua_DeletePointLight);
	lua_register(L, "ClearPointLights", AGKLua_ClearPointLights);
	lua_register(L, "SetPointLightPosition", AGKLua_SetPointLightPosition);
	lua_register(L, "SetPointLightColor", AGKLua_SetPointLightColor);
	lua_register(L, "SetPointLightRadius", AGKLua_SetPointLightRadius);
	lua_register(L, "SetPointLightMode", AGKLua_SetPointLightMode);
	lua_register(L, "SetSunDirection", AGKLua_SetSunDirection);
	lua_register(L, "SetSunColor", AGKLua_SetSunColor);
	lua_register(L, "SetSunActive", AGKLua_SetSunActive);
	lua_register(L, "SetAmbientColor", AGKLua_SetAmbientColor);
	//lua_register(L, "Create3DPhysicsWorld", AGKLua_Create3DPhysicsWorld);
	lua_register(L, "Create3DPhysicsWorld", AGKLua_Create3DPhysicsWorld);
	//lua_register(L, "Set3DPhysicsGravity", AGKLua_Set3DPhysicsGravity);
	lua_register(L, "Set3DPhysicsGravity", AGKLua_Set3DPhysicsGravity);
	lua_register(L, "Step3DPhysicsWorld", AGKLua_Step3DPhysicsWorld);
	lua_register(L, "Reset3DPhysicsWorld", AGKLua_Reset3DPhysicsWorld);
	lua_register(L, "Delete3DPhysicsWorld", AGKLua_Delete3DPhysicsWorld);
	lua_register(L, "Debug3DPhysicsWorld", AGKLua_Debug3DPhysicsWorld);
	lua_register(L, "Get3DPhysicsTotalObjects", AGKLua_Get3DPhysicsTotalObjects);
	lua_register(L, "Get3DPhysicsActiveObjects", AGKLua_Get3DPhysicsActiveObjects);
	lua_register(L, "Get3DPhysicsTotalJoints", AGKLua_Get3DPhysicsTotalJoints);
	lua_register(L, "SetObjectShapeBox", AGKLua_SetObjectShapeBox);
	lua_register(L, "SetObjectShapeSphere", AGKLua_SetObjectShapeSphere);
	lua_register(L, "SetObjectShapeCylinder", AGKLua_SetObjectShapeCylinder);
	lua_register(L, "SetObjectShapeCone", AGKLua_SetObjectShapeCone);
	lua_register(L, "SetObjectShapeCapsule", AGKLua_SetObjectShapeCapsule);
	lua_register(L, "SetObjectShapeConvexHull", AGKLua_SetObjectShapeConvexHull);
	lua_register(L, "SetObjectShapeStaticPolygon", AGKLua_SetObjectShapeStaticPolygon);
	lua_register(L, "SetObjectShapeCompound", AGKLua_SetObjectShapeCompound);
	lua_register(L, "Create3DPhysicsDynamicBody", AGKLua_Create3DPhysicsDynamicBody);
	lua_register(L, "Create3DPhysicsStaticBody", AGKLua_Create3DPhysicsStaticBody);
	lua_register(L, "Create3DPhysicsKinematicBody", AGKLua_Create3DPhysicsKinematicBody);
	lua_register(L, "Delete3DPhysicsBody", AGKLua_Delete3DPhysicsBody);
	lua_register(L, "Create3DPhysicsStaticPlane", AGKLua_Create3DPhysicsStaticPlane);
	lua_register(L, "Set3DPhysicsStaticPlanePosition", AGKLua_Set3DPhysicsStaticPlanePosition);
	lua_register(L, "Set3DPhysicsStaticPlaneRotation", AGKLua_Set3DPhysicsStaticPlaneRotation);
	lua_register(L, "Delete3DPhysicsStaticPlane", AGKLua_Delete3DPhysicsStaticPlane);
	lua_register(L, "SetObject3DPhysicsGroupAndMask", AGKLua_SetObject3DPhysicsGroupAndMask);
	lua_register(L, "GetObject3DPhysicsGroup", AGKLua_GetObject3DPhysicsGroup);
	lua_register(L, "GetObject3DPhysicsMask", AGKLua_GetObject3DPhysicsMask);
	lua_register(L, "SetObject3DPhysicsMass", AGKLua_SetObject3DPhysicsMass);
	lua_register(L, "GetObject3DPhysicsMass", AGKLua_GetObject3DPhysicsMass);
	lua_register(L, "SetObject3DPhysicsCanSleep", AGKLua_SetObject3DPhysicsCanSleep);
	lua_register(L, "SetObject3DPhysicsFriction", AGKLua_SetObject3DPhysicsFriction);
	lua_register(L, "GetObject3DPhysicsFriction", AGKLua_GetObject3DPhysicsFriction);
	lua_register(L, "SetObject3DPhysicsRollingFriction", AGKLua_SetObject3DPhysicsRollingFriction);
	lua_register(L, "GetObject3DPhysicsRollingFriction", AGKLua_GetObject3DPhysicsRollingFriction);
	lua_register(L, "SetObject3DPhysicsAnisotropicFriction", AGKLua_SetObject3DPhysicsAnisotropicFriction);
	lua_register(L, "SetObject3DPhysicsMaxLinearVelocity", AGKLua_SetObject3DPhysicsMaxLinearVelocity);
	//lua_register(L, "SetObject3DPhysicsLinearVelocity", AGKLua_SetObject3DPhysicsLinearVelocity);
	lua_register(L, "SetObject3DPhysicsLinearVelocity", AGKLua_SetObject3DPhysicsLinearVelocity);
	lua_register(L, "GetObject3DPhysicsLinearVelocityX", AGKLua_GetObject3DPhysicsLinearVelocityX);
	lua_register(L, "GetObject3DPhysicsLinearVelocityY", AGKLua_GetObject3DPhysicsLinearVelocityY);
	lua_register(L, "GetObject3DPhysicsLinearVelocityZ", AGKLua_GetObject3DPhysicsLinearVelocityZ);
	//lua_register(L, "SetObject3DPhysicsAngularVelocity", AGKLua_SetObject3DPhysicsAngularVelocity);
	lua_register(L, "SetObject3DPhysicsAngularVelocity", AGKLua_SetObject3DPhysicsAngularVelocity);
	lua_register(L, "GetObject3DPhysicsAngularVelocityX", AGKLua_GetObject3DPhysicsAngularVelocityX);
	lua_register(L, "GetObject3DPhysicsAngularVelocityY", AGKLua_GetObject3DPhysicsAngularVelocityY);
	lua_register(L, "GetObject3DPhysicsAngularVelocityZ", AGKLua_GetObject3DPhysicsAngularVelocityZ);
	lua_register(L, "SetObject3DPhysicsDamping", AGKLua_SetObject3DPhysicsDamping);
	lua_register(L, "GetObject3DPhysicsLinearDamp", AGKLua_GetObject3DPhysicsLinearDamp);
	lua_register(L, "GetObject3DPhysicsAngularDamp", AGKLua_GetObject3DPhysicsAngularDamp);
	lua_register(L, "SetObject3DPhysicsSleepingThreshold", AGKLua_SetObject3DPhysicsSleepingThreshold);
	lua_register(L, "GetObject3DPhysicsAngularSleepingThreshold", AGKLua_GetObject3DPhysicsAngularSleepingThreshold);
	lua_register(L, "GetObject3DPhysicsLinearSleepingThreshold", AGKLua_GetObject3DPhysicsLinearSleepingThreshold);
	lua_register(L, "SetObject3DPhysicsDeactivationTime", AGKLua_SetObject3DPhysicsDeactivationTime);
	lua_register(L, "SetObject3DPhysicsRestitution", AGKLua_SetObject3DPhysicsRestitution);
	lua_register(L, "GetObject3DPhysicsRestitution", AGKLua_GetObject3DPhysicsRestitution);
	lua_register(L, "GetObject3DPhysicsFirstContact", AGKLua_GetObject3DPhysicsFirstContact);
	lua_register(L, "GetObject3DPhysicsContactX", AGKLua_GetObject3DPhysicsContactX);
	lua_register(L, "GetObject3DPhysicsContactY", AGKLua_GetObject3DPhysicsContactY);
	lua_register(L, "GetObject3DPhysicsContactZ", AGKLua_GetObject3DPhysicsContactZ);
	lua_register(L, "GetObject3DPhysicsContactVector", AGKLua_GetObject3DPhysicsContactVector);
	lua_register(L, "GetObject3DPhysicsContactObjectB", AGKLua_GetObject3DPhysicsContactObjectB);
	lua_register(L, "GetObject3DPhysicsNextContact", AGKLua_GetObject3DPhysicsNextContact);
	lua_register(L, "GetObjects3DPhysicsContactPositionVector", AGKLua_GetObjects3DPhysicsContactPositionVector);
	lua_register(L, "Create3DPhysicsPickJoint", AGKLua_Create3DPhysicsPickJoint);
	lua_register(L, "Update3DPhysicsPickJoint", AGKLua_Update3DPhysicsPickJoint);
	lua_register(L, "Delete3DPhysicsPickJoint", AGKLua_Delete3DPhysicsPickJoint);
	lua_register(L, "Create3DPhysicsHingeJoint", AGKLua_Create3DPhysicsHingeJoint);
	lua_register(L, "Create3DPhysicsConeTwistJoint", AGKLua_Create3DPhysicsConeTwistJoint);
	lua_register(L, "Create3DPhysicsSliderJoint", AGKLua_Create3DPhysicsSliderJoint);
	lua_register(L, "Create3DPhysicsFixedJoint", AGKLua_Create3DPhysicsFixedJoint);
	lua_register(L, "Create3DPhysics6DOFJoint", AGKLua_Create3DPhysics6DOFJoint);
	lua_register(L, "Set3DPhysicsJointSliderAngularLimits", AGKLua_Set3DPhysicsJointSliderAngularLimits);
	lua_register(L, "Set3DPhysicsJointSliderLinearLimits", AGKLua_Set3DPhysicsJointSliderLinearLimits);
	lua_register(L, "Set3DPhysicsJointConeTwistLimits", AGKLua_Set3DPhysicsJointConeTwistLimits);
	lua_register(L, "Set3DPhysicsJointHingeLimits", AGKLua_Set3DPhysicsJointHingeLimits);
	lua_register(L, "Set3DPhysicsJointBreakingThreshold", AGKLua_Set3DPhysicsJointBreakingThreshold);
	lua_register(L, "Set3DPhysicsJointEnabled", AGKLua_Set3DPhysicsJointEnabled);
	lua_register(L, "Get3DPhysicsJointEnabled", AGKLua_Get3DPhysicsJointEnabled);
	lua_register(L, "Get3DPhysicsJointPositionVector", AGKLua_Get3DPhysicsJointPositionVector);
	lua_register(L, "Get3DPhysicsJointRotationVector", AGKLua_Get3DPhysicsJointRotationVector);
	lua_register(L, "Delete3DPhysicsJoint", AGKLua_Delete3DPhysicsJoint);
	lua_register(L, "Set3DPhysicsHingeJointMotorIsEnabled", AGKLua_Set3DPhysicsHingeJointMotorIsEnabled);
	lua_register(L, "Set3DPhysicsHingeJointMaxMotorImpulse", AGKLua_Set3DPhysicsHingeJointMaxMotorImpulse);
	lua_register(L, "Set3DPhysicsHingeJointMotorVelocity", AGKLua_Set3DPhysicsHingeJointMotorVelocity);
	lua_register(L, "Set3DPhysicsTwistJointMotorIsEnabled", AGKLua_Set3DPhysicsTwistJointMotorIsEnabled);
	lua_register(L, "Set3DPhysicsTwistJointMaxMotorImpulse", AGKLua_Set3DPhysicsTwistJointMaxMotorImpulse);
	lua_register(L, "Set3DPhysicsTwistJointMotorRotationTarget", AGKLua_Set3DPhysicsTwistJointMotorRotationTarget);
	lua_register(L, "Set3DPhysicsSliderJointPoweredLinearMotorIsEnabled", AGKLua_Set3DPhysicsSliderJointPoweredLinearMotorIsEnabled);
	lua_register(L, "Set3DPhysicsSliderJointMaxLinearMotorForce", AGKLua_Set3DPhysicsSliderJointMaxLinearMotorForce);
	lua_register(L, "Set3DPhysicsSliderJointTargetLinearMotorVelocity", AGKLua_Set3DPhysicsSliderJointTargetLinearMotorVelocity);
	lua_register(L, "AddObjectShapeBox", AGKLua_AddObjectShapeBox);
	lua_register(L, "AddObjectShapeSphere", AGKLua_AddObjectShapeSphere);
	lua_register(L, "AddObjectShapeCapsule", AGKLua_AddObjectShapeCapsule);
	lua_register(L, "AddObjectShapeCone", AGKLua_AddObjectShapeCone);
	lua_register(L, "AddObjectShapeCylinder", AGKLua_AddObjectShapeCylinder);
	lua_register(L, "SaveObjectShape", AGKLua_SaveObjectShape);
	lua_register(L, "LoadObjectShape", AGKLua_LoadObjectShape);
	lua_register(L, "CreateVector3", AGKLua_CreateVector3);
	lua_register(L, "SetVector3", AGKLua_SetVector3);
	lua_register(L, "DeleteVector3", AGKLua_DeleteVector3);
	lua_register(L, "GetVector3X", AGKLua_GetVector3X);
	lua_register(L, "GetVector3Y", AGKLua_GetVector3Y);
	lua_register(L, "GetVector3Z", AGKLua_GetVector3Z);
	lua_register(L, "GetVector3Distance", AGKLua_GetVector3Distance);
	lua_register(L, "GetVector3Length", AGKLua_GetVector3Length);
	lua_register(L, "GetVector3Dot", AGKLua_GetVector3Dot);
	lua_register(L, "GetVector3Cross", AGKLua_GetVector3Cross);
	lua_register(L, "GetVector3Multiply", AGKLua_GetVector3Multiply);
	lua_register(L, "GetVector3Add", AGKLua_GetVector3Add);
	lua_register(L, "Create3DPhysicsRay", AGKLua_Create3DPhysicsRay);
	lua_register(L, "Delete3DPhysicsRay", AGKLua_Delete3DPhysicsRay);
	lua_register(L, "Ray3DPhysicsExist", AGKLua_Ray3DPhysicsExist);
	lua_register(L, "RayCast3DPhysics", AGKLua_RayCast3DPhysics);
	lua_register(L, "RayCast3DPhysicsObject", AGKLua_RayCast3DPhysicsObject);
	lua_register(L, "Get3DPhysicsRayCastObjectHit", AGKLua_Get3DPhysicsRayCastObjectHit);
	lua_register(L, "Get3DPhysicsRayCastClosestObjectHit", AGKLua_Get3DPhysicsRayCastClosestObjectHit);
	lua_register(L, "Get3DPhysicsRayCastFraction", AGKLua_Get3DPhysicsRayCastFraction);
	lua_register(L, "Get3DPhysicsRayCastContactPosition", AGKLua_Get3DPhysicsRayCastContactPosition);
	lua_register(L, "Get3DPhysicsRayCastClosestContactPosition", AGKLua_Get3DPhysicsRayCastClosestContactPosition);
	lua_register(L, "Get3DPhysicsRayCastNormalVector", AGKLua_Get3DPhysicsRayCastNormalVector);
	lua_register(L, "Get3DPhysicsRayCastNumHits", AGKLua_Get3DPhysicsRayCastNumHits);
	lua_register(L, "SphereCast3DPhysics", AGKLua_SphereCast3DPhysics);
	lua_register(L, "SphereCast3DPhysicsObject", AGKLua_SphereCast3DPhysicsObject);
	lua_register(L, "Create3DPhysicsRagDoll", AGKLua_Create3DPhysicsRagDoll);
	lua_register(L, "Add3DPhysicsRagDollBone", AGKLua_Add3DPhysicsRagDollBone);
	lua_register(L, "AssignTo3DPhysicsRagDollBoneObjectBone", AGKLua_AssignTo3DPhysicsRagDollBoneObjectBone);
	lua_register(L, "Add3DPhysicsRagDollHingeJoint", AGKLua_Add3DPhysicsRagDollHingeJoint);
	lua_register(L, "Add3DPhysicsRagDollTwistJoint", AGKLua_Add3DPhysicsRagDollTwistJoint);
	lua_register(L, "Finalize3DPhysicsRagDoll", AGKLua_Finalize3DPhysicsRagDoll);
	lua_register(L, "Delete3DPhysicsRagdoll", AGKLua_Delete3DPhysicsRagdoll);
	lua_register(L, "Get3DPhysicsRagdollExist", AGKLua_Get3DPhysicsRagdollExist);
	lua_register(L, "Get3DPhysicsRagdollFromBoneObject", AGKLua_Get3DPhysicsRagdollFromBoneObject);
	lua_register(L, "Is3dPhysicsRagdollStatic", AGKLua_Is3dPhysicsRagdollStatic);
	lua_register(L, "Set3DphysicsRagdollStatic", AGKLua_Set3DphysicsRagdollStatic);
	lua_register(L, "Set3DPhysicsRagdollBonesVisible", AGKLua_Set3DPhysicsRagdollBonesVisible);
	lua_register(L, "Set3DPhysicsRagdollDamping", AGKLua_Set3DPhysicsRagdollDamping);
	lua_register(L, "Set3DPhysicsRagdollSleepingThresholds", AGKLua_Set3DPhysicsRagdollSleepingThresholds);
	lua_register(L, "Set3DPhysicsRagdollDeactivationTime", AGKLua_Set3DPhysicsRagdollDeactivationTime);
	lua_register(L, "Set3DPhysicsRagdollDeactivation", AGKLua_Set3DPhysicsRagdollDeactivation);
	lua_register(L, "Create3DPhysicsCharacterController", AGKLua_Create3DPhysicsCharacterController);
	lua_register(L, "Delete3DPhysicsCharacterController", AGKLua_Delete3DPhysicsCharacterController);
	lua_register(L, "Get3DPhysicsCharacterControllerExists", AGKLua_Get3DPhysicsCharacterControllerExists);
	lua_register(L, "Set3DPhysicsCharacterControllerGravity", AGKLua_Set3DPhysicsCharacterControllerGravity);
	lua_register(L, "Set3DPhysicsCharacterControllerFallSpeed", AGKLua_Set3DPhysicsCharacterControllerFallSpeed);
	lua_register(L, "Set3DPhysicsCharacterControllerJumpSpeed", AGKLua_Set3DPhysicsCharacterControllerJumpSpeed);
	lua_register(L, "Set3DPhysicsCharacterControllerMaxSlope", AGKLua_Set3DPhysicsCharacterControllerMaxSlope);
	lua_register(L, "Set3DPhysicsCharacterControllerStepHeight", AGKLua_Set3DPhysicsCharacterControllerStepHeight);
	lua_register(L, "Get3DPhysicsCharacterControllerMaxSlope", AGKLua_Get3DPhysicsCharacterControllerMaxSlope);
	lua_register(L, "Get3DPhysicsCharacterControllerGravity", AGKLua_Get3DPhysicsCharacterControllerGravity);
	//lua_register(L, "Move3DPhysicsCharacterController", AGKLua_Move3DPhysicsCharacterController);
	lua_register(L, "Move3DPhysicsCharacterController", AGKLua_Move3DPhysicsCharacterController);
	lua_register(L, "Rotate3DPhysicsCharacterController", AGKLua_Rotate3DPhysicsCharacterController);
	lua_register(L, "Jump3DPhysicsCharacterController", AGKLua_Jump3DPhysicsCharacterController);
	lua_register(L, "Crouch3DPhysicsCharacterController", AGKLua_Crouch3DPhysicsCharacterController);
	lua_register(L, "Stand3DPhysicsCharacterController", AGKLua_Stand3DPhysicsCharacterController);
	lua_register(L, "Debug3DPhysicsCharacterController", AGKLua_Debug3DPhysicsCharacterController);
	lua_register(L, "Set3DPhysicsCharacterControllerPosition", AGKLua_Set3DPhysicsCharacterControllerPosition);
	lua_register(L, "SetWindowPosition", AGKLua_SetWindowPosition);
	lua_register(L, "SetWindowSize", AGKLua_SetWindowSize);
	lua_register(L, "SetWindowAllowResize", AGKLua_SetWindowAllowResize);
	lua_register(L, "MaximizeWindow", AGKLua_MaximizeWindow);
	lua_register(L, "MinimizeApp", AGKLua_MinimizeApp);
	lua_register(L, "RestoreApp", AGKLua_RestoreApp);
	lua_register(L, "SetImmersiveMode", AGKLua_SetImmersiveMode);
	lua_register(L, "SetScreenResolution", AGKLua_SetScreenResolution);
	lua_register(L, "GetDeviceName", AGKLua_GetDeviceName);
	lua_register(L, "GetDeviceBaseName", AGKLua_GetDeviceBaseName);
	lua_register(L, "GetDeviceType", AGKLua_GetDeviceType);
	lua_register(L, "GetAppName", AGKLua_GetAppName);
	lua_register(L, "GetDeviceLanguage", AGKLua_GetDeviceLanguage);
	lua_register(L, "SetSleepMode", AGKLua_SetSleepMode);
	lua_register(L, "SetExpansionFileKey", AGKLua_SetExpansionFileKey);
	lua_register(L, "SetExpansionFileVersion", AGKLua_SetExpansionFileVersion);
	lua_register(L, "GetExpansionFileState", AGKLua_GetExpansionFileState);
	lua_register(L, "DownloadExpansionFile", AGKLua_DownloadExpansionFile);
	lua_register(L, "GetExpansionFileProgress", AGKLua_GetExpansionFileProgress);
	lua_register(L, "SetWindowTitle", AGKLua_SetWindowTitle);
	lua_register(L, "Sleep", AGKLua_Sleep);
	lua_register(L, "SetVSync", AGKLua_SetVSync);
	lua_register(L, "GetMaxDeviceWidth", AGKLua_GetMaxDeviceWidth);
	lua_register(L, "GetMaxDeviceHeight", AGKLua_GetMaxDeviceHeight);
	lua_register(L, "GetDeviceDPI", AGKLua_GetDeviceDPI);
	lua_register(L, "GetAppPackageName", AGKLua_GetAppPackageName);
	lua_register(L, "GetDevicePlatform", AGKLua_GetDevicePlatform);
	lua_register(L, "Sin", AGKLua_Sin);
	lua_register(L, "Cos", AGKLua_Cos);
	lua_register(L, "Tan", AGKLua_Tan);
	lua_register(L, "SinRad", AGKLua_SinRad);
	lua_register(L, "CosRad", AGKLua_CosRad);
	lua_register(L, "TanRad", AGKLua_TanRad);
	lua_register(L, "ASin", AGKLua_ASin);
	lua_register(L, "ACos", AGKLua_ACos);
	lua_register(L, "ATan", AGKLua_ATan);
	lua_register(L, "ATan2", AGKLua_ATan2);
	lua_register(L, "ASinRad", AGKLua_ASinRad);
	lua_register(L, "ACosRad", AGKLua_ACosRad);
	lua_register(L, "ATanRad", AGKLua_ATanRad);
	lua_register(L, "ATan2Rad", AGKLua_ATan2Rad);
	lua_register(L, "Trunc", AGKLua_Trunc);
	lua_register(L, "Floor", AGKLua_Floor);
	lua_register(L, "Ceil", AGKLua_Ceil);
	lua_register(L, "Round", AGKLua_Round);
	lua_register(L, "Sqrt", AGKLua_Sqrt);
	lua_register(L, "Abs", AGKLua_Abs);
	lua_register(L, "Mod", AGKLua_Mod);
	lua_register(L, "FMod", AGKLua_FMod);
	lua_register(L, "Pow", AGKLua_Pow);
	lua_register(L, "GetNumDeviceCameras", AGKLua_GetNumDeviceCameras);
	lua_register(L, "SetDeviceCameraToImage", AGKLua_SetDeviceCameraToImage);
	lua_register(L, "GetDeviceCameraType", AGKLua_GetDeviceCameraType);
	lua_register(L, "VibrateDevice", AGKLua_VibrateDevice);
	lua_register(L, "LoadVideo", AGKLua_LoadVideo);
	lua_register(L, "DeleteVideo", AGKLua_DeleteVideo);
	lua_register(L, "SetVideoDimensions", AGKLua_SetVideoDimensions);
	lua_register(L, "PlayVideoToImage", AGKLua_PlayVideoToImage);
	lua_register(L, "PlayVideo", AGKLua_PlayVideo);
	lua_register(L, "PauseVideo", AGKLua_PauseVideo);
	lua_register(L, "StopVideo", AGKLua_StopVideo);
	lua_register(L, "GetVideoPlaying", AGKLua_GetVideoPlaying);
	lua_register(L, "GetVideoPosition", AGKLua_GetVideoPosition);
	lua_register(L, "GetVideoDuration", AGKLua_GetVideoDuration);
	lua_register(L, "SetVideoVolume", AGKLua_SetVideoVolume);
	lua_register(L, "GetVideoWidth", AGKLua_GetVideoWidth);
	lua_register(L, "GetVideoHeight", AGKLua_GetVideoHeight);
	lua_register(L, "SetVideoPosition", AGKLua_SetVideoPosition);
	lua_register(L, "SetRawWritePath", AGKLua_SetRawWritePath);
	lua_register(L, "GetWritePath", AGKLua_GetWritePath);
	lua_register(L, "GetReadPath", AGKLua_GetReadPath);
	lua_register(L, "GetDocumentsPath", AGKLua_GetDocumentsPath);
	lua_register(L, "SetCurrentDir", AGKLua_SetCurrentDir);
	lua_register(L, "MakeFolder", AGKLua_MakeFolder);
	lua_register(L, "DeleteFolder", AGKLua_DeleteFolder);
	lua_register(L, "GetMultiTouchExists", AGKLua_GetMultiTouchExists);
	lua_register(L, "GetMouseExists", AGKLua_GetMouseExists);
	lua_register(L, "GetKeyboardExists", AGKLua_GetKeyboardExists);
	lua_register(L, "GetCameraExists", AGKLua_GetCameraExists);
	lua_register(L, "GetGPSSensorExists", AGKLua_GetGPSSensorExists);
	lua_register(L, "SetRawMouseVisible", AGKLua_SetRawMouseVisible);
	lua_register(L, "SetRawMousePosition", AGKLua_SetRawMousePosition);
	lua_register(L, "GetUnixTime", AGKLua_GetUnixTime);
	lua_register(L, "GetDayOfWeek", AGKLua_GetDayOfWeek);
	lua_register(L, "GetCurrentDate", AGKLua_GetCurrentDate);
	lua_register(L, "GetCurrentTime", AGKLua_GetCurrentTime);
	lua_register(L, "OpenBrowser", AGKLua_OpenBrowser);
	lua_register(L, "RunApp", AGKLua_RunApp);
	lua_register(L, "GetAppRunning", AGKLua_GetAppRunning);
	lua_register(L, "TerminateApp", AGKLua_TerminateApp);
	lua_register(L, "ViewFile", AGKLua_ViewFile);
	lua_register(L, "ShareText", AGKLua_ShareText);
	lua_register(L, "ShareImage", AGKLua_ShareImage);
	lua_register(L, "ShareImageAndText", AGKLua_ShareImageAndText);
	lua_register(L, "FacebookActivateAppTracking", AGKLua_FacebookActivateAppTracking);
	lua_register(L, "GetInternetState", AGKLua_GetInternetState);
	lua_register(L, "SetPushNotificationKeys", AGKLua_SetPushNotificationKeys);
	lua_register(L, "PushNotificationSetup", AGKLua_PushNotificationSetup);
	lua_register(L, "GetPushNotificationToken", AGKLua_GetPushNotificationToken);
	lua_register(L, "GetNotificationType", AGKLua_GetNotificationType);
	lua_register(L, "SetNotificationImage", AGKLua_SetNotificationImage);
	lua_register(L, "SetNotificationText", AGKLua_SetNotificationText);
	lua_register(L, "GetNFCExists", AGKLua_GetNFCExists);
	lua_register(L, "StartGPSTracking", AGKLua_StartGPSTracking);
	lua_register(L, "StopGPSTracking", AGKLua_StopGPSTracking);
	lua_register(L, "GetRawGPSLatitude", AGKLua_GetRawGPSLatitude);
	lua_register(L, "GetRawGPSLongitude", AGKLua_GetRawGPSLongitude);
	lua_register(L, "GetRawGPSAltitude", AGKLua_GetRawGPSAltitude);
	lua_register(L, "GetGameCenterExists", AGKLua_GetGameCenterExists);
	lua_register(L, "GameCenterSetup", AGKLua_GameCenterSetup);
	lua_register(L, "GameCenterLogin", AGKLua_GameCenterLogin);
	lua_register(L, "GetGameCenterLoggedIn", AGKLua_GetGameCenterLoggedIn);
	lua_register(L, "GetGameCenterPlayerID", AGKLua_GetGameCenterPlayerID);
	lua_register(L, "GetGameCenterPlayerDisplayName", AGKLua_GetGameCenterPlayerDisplayName);
	lua_register(L, "GameCenterSubmitScore", AGKLua_GameCenterSubmitScore);
	lua_register(L, "GameCenterShowLeaderBoard", AGKLua_GameCenterShowLeaderBoard);
	lua_register(L, "GameCenterSubmitAchievement", AGKLua_GameCenterSubmitAchievement);
	lua_register(L, "GameCenterAchievementsShow", AGKLua_GameCenterAchievementsShow);
	lua_register(L, "GameCenterAchievementsReset", AGKLua_GameCenterAchievementsReset);
	lua_register(L, "SetSharedVariableAppGroup", AGKLua_SetSharedVariableAppGroup);
	lua_register(L, "SaveSharedVariable", AGKLua_SaveSharedVariable);
	lua_register(L, "LoadSharedVariable", AGKLua_LoadSharedVariable);
	lua_register(L, "DeleteSharedVariable", AGKLua_DeleteSharedVariable);
	lua_register(L, "FirebaseSetup", AGKLua_FirebaseSetup);
	lua_register(L, "FirebaseLogEvent", AGKLua_FirebaseLogEvent);
	lua_register(L, "IsSupportedDepthTexture", AGKLua_IsSupportedDepthTexture);
	lua_register(L, "SetAntialiasMode", AGKLua_SetAntialiasMode);
	lua_register(L, "RenderShadowMap", AGKLua_RenderShadowMap);
	lua_register(L, "SetNetworkAllowClients", AGKLua_SetNetworkAllowClients);
	lua_register(L, "KickNetworkClient", AGKLua_KickNetworkClient);
	lua_register(L, "SetObjectCastShadow", AGKLua_SetObjectCastShadow);
	lua_register(L, "SetObjectReceiveShadow", AGKLua_SetObjectReceiveShadow);
	lua_register(L, "GetObjectCastShadowMode", AGKLua_GetObjectCastShadowMode);
	lua_register(L, "GetObjectReceiveShadowMode", AGKLua_GetObjectReceiveShadowMode);
	lua_register(L, "GetShadowMappingSupported", AGKLua_GetShadowMappingSupported);
	lua_register(L, "SetShadowMappingMode", AGKLua_SetShadowMappingMode);
	lua_register(L, "GetShadowMappingMode", AGKLua_GetShadowMappingMode);
	lua_register(L, "SetShadowMapSize", AGKLua_SetShadowMapSize);
	lua_register(L, "SetShadowRange", AGKLua_SetShadowRange);
	lua_register(L, "SetShadowBias", AGKLua_SetShadowBias);
	lua_register(L, "SetShadowLightStepSize", AGKLua_SetShadowLightStepSize);
	lua_register(L, "SetShadowSmoothing", AGKLua_SetShadowSmoothing);
	lua_register(L, "GetShadowPolygonsDrawn", AGKLua_GetShadowPolygonsDrawn);
	lua_register(L, "LoadShaderFromString", AGKLua_LoadShaderFromString);
	lua_register(L, "Create3DParticles", AGKLua_Create3DParticles);
	lua_register(L, "Get3DParticlesExists", AGKLua_Get3DParticlesExists);
	lua_register(L, "Delete3DParticles", AGKLua_Delete3DParticles);
	lua_register(L, "Set3DParticlesPosition", AGKLua_Set3DParticlesPosition);
	lua_register(L, "Set3DParticlesFrequency", AGKLua_Set3DParticlesFrequency);
	lua_register(L, "Set3DParticlesStartZone", AGKLua_Set3DParticlesStartZone);
	lua_register(L, "Set3DParticlesDirection", AGKLua_Set3DParticlesDirection);
	lua_register(L, "Set3DParticlesVelocityRange", AGKLua_Set3DParticlesVelocityRange);
	lua_register(L, "Set3DParticlesDirectionRange", AGKLua_Set3DParticlesDirectionRange);
	lua_register(L, "Set3DParticlesSize", AGKLua_Set3DParticlesSize);
	lua_register(L, "Set3DParticlesLife", AGKLua_Set3DParticlesLife);
	lua_register(L, "Set3DParticlesMax", AGKLua_Set3DParticlesMax);
	lua_register(L, "Reset3DParticleCount", AGKLua_Reset3DParticleCount);
	lua_register(L, "Set3DParticlesImage", AGKLua_Set3DParticlesImage);
	lua_register(L, "Set3DParticlesVisible", AGKLua_Set3DParticlesVisible);
	lua_register(L, "Set3DParticlesActive", AGKLua_Set3DParticlesActive);
	lua_register(L, "Set3DParticlesTransparency", AGKLua_Set3DParticlesTransparency);
	lua_register(L, "Set3DParticlesColorInterpolation", AGKLua_Set3DParticlesColorInterpolation);
	lua_register(L, "Get3DParticlesX", AGKLua_Get3DParticlesX);
	lua_register(L, "Get3DParticlesY", AGKLua_Get3DParticlesY);
	lua_register(L, "Get3DParticlesZ", AGKLua_Get3DParticlesZ);
	lua_register(L, "Get3DParticlesVisible", AGKLua_Get3DParticlesVisible);
	lua_register(L, "Get3DParticlesActive", AGKLua_Get3DParticlesActive);
	lua_register(L, "Get3DParticlesFrequency", AGKLua_Get3DParticlesFrequency);
	lua_register(L, "Get3DParticlesDirectionX", AGKLua_Get3DParticlesDirectionX);
	lua_register(L, "Get3DParticlesDirectionY", AGKLua_Get3DParticlesDirectionY);
	lua_register(L, "Get3DParticlesDirectionZ", AGKLua_Get3DParticlesDirectionZ);
	lua_register(L, "Get3DParticlesDirectionRange1", AGKLua_Get3DParticlesDirectionRange1);
	lua_register(L, "Get3DParticlesDirectionRange2", AGKLua_Get3DParticlesDirectionRange2);
	lua_register(L, "Get3DParticlesSize", AGKLua_Get3DParticlesSize);
	lua_register(L, "Get3DParticlesLife", AGKLua_Get3DParticlesLife);
	lua_register(L, "Get3DParticlesMaxReached", AGKLua_Get3DParticlesMaxReached);
	lua_register(L, "Add3DParticlesForce", AGKLua_Add3DParticlesForce);
	lua_register(L, "Clear3DParticlesForces", AGKLua_Clear3DParticlesForces);
	lua_register(L, "Add3DParticlesColorKeyFrame", AGKLua_Add3DParticlesColorKeyFrame);
	lua_register(L, "Clear3DParticlesColors", AGKLua_Clear3DParticlesColors);
	lua_register(L, "Add3DParticlesScaleKeyFrame", AGKLua_Add3DParticlesScaleKeyFrame);
	lua_register(L, "Clear3DParticlesScales", AGKLua_Clear3DParticlesScales);
	lua_register(L, "Update3DParticles", AGKLua_Update3DParticles);
	lua_register(L, "Offset3DParticles", AGKLua_Offset3DParticles);
	lua_register(L, "SetMeshMemblockVertexColor", AGKLua_SetMeshMemblockVertexColor);
	lua_register(L, "GetMeshMemblockVertexRed", AGKLua_GetMeshMemblockVertexRed);
	lua_register(L, "GetMeshMemblockVertexGreen", AGKLua_GetMeshMemblockVertexGreen);
	lua_register(L, "GetMeshMemblockVertexBlue", AGKLua_GetMeshMemblockVertexBlue);
	lua_register(L, "GetMeshMemblockVertexAlpha", AGKLua_GetMeshMemblockVertexAlpha);
	lua_register(L, "SetObjectMeshNormalMap", AGKLua_SetObjectMeshNormalMap);
	lua_register(L, "SetObjectNormalMap", AGKLua_SetObjectNormalMap);
	lua_register(L, "SetObjectNormalMapScale", AGKLua_SetObjectNormalMapScale);
	lua_register(L, "SetObjectMeshNormalMapScale", AGKLua_SetObjectMeshNormalMapScale);
	lua_register(L, "StartScreenRecording", AGKLua_StartScreenRecording);
	lua_register(L, "StopScreenRecording", AGKLua_StopScreenRecording);
	lua_register(L, "IsScreenRecording", AGKLua_IsScreenRecording);
	lua_register(L, "DeleteShader", AGKLua_DeleteShader);
	lua_register(L, "ActivateSmartWatch", AGKLua_ActivateSmartWatch);
	lua_register(L, "GetSmartWatchState", AGKLua_GetSmartWatchState);
	lua_register(L, "SendSmartWatchData", AGKLua_SendSmartWatchData);
	lua_register(L, "ReceiveSmartWatchData", AGKLua_ReceiveSmartWatchData);
	lua_register(L, "TextToSpeechSetup", AGKLua_TextToSpeechSetup);
	lua_register(L, "GetTextToSpeechReady", AGKLua_GetTextToSpeechReady);
	//lua_register(L, "Speak", AGKLua_Speak);
	lua_register(L, "Speak", AGKLua_Speak);
	lua_register(L, "SetSpeechRate", AGKLua_SetSpeechRate);
	lua_register(L, "SetSpeechLanguage", AGKLua_SetSpeechLanguage);
	lua_register(L, "IsSpeaking", AGKLua_IsSpeaking);
	lua_register(L, "StopSpeaking", AGKLua_StopSpeaking);
	lua_register(L, "GetSpriteTransparency", AGKLua_GetSpriteTransparency);
	lua_register(L, "SetSpriteShapeChain", AGKLua_SetSpriteShapeChain);
	lua_register(L, "AddSpriteShapeChain", AGKLua_AddSpriteShapeChain);
	lua_register(L, "GetSpriteNumShapes", AGKLua_GetSpriteNumShapes);
	lua_register(L, "GetSpriteShapeNumVertices", AGKLua_GetSpriteShapeNumVertices);
	lua_register(L, "GetSpriteShapeVertexX", AGKLua_GetSpriteShapeVertexX);
	lua_register(L, "GetSpriteShapeVertexY", AGKLua_GetSpriteShapeVertexY);
	lua_register(L, "GetSpritePhysicsCOMX", AGKLua_GetSpritePhysicsCOMX);
	lua_register(L, "GetSpritePhysicsCOMY", AGKLua_GetSpritePhysicsCOMY);
	lua_register(L, "SetSpritePhysicsDensity", AGKLua_SetSpritePhysicsDensity);
	lua_register(L, "CreateRopeJoint", AGKLua_CreateRopeJoint);
	lua_register(L, "SetJointMouseMaxForce", AGKLua_SetJointMouseMaxForce);
	lua_register(L, "SetJointDamping", AGKLua_SetJointDamping);
	lua_register(L, "PauseTweenCustom", AGKLua_PauseTweenCustom);
	lua_register(L, "ResumeTweenCustom", AGKLua_ResumeTweenCustom);
	lua_register(L, "PauseTweenSprite", AGKLua_PauseTweenSprite);
	lua_register(L, "ResumeTweenSprite", AGKLua_ResumeTweenSprite);
	lua_register(L, "PauseTweenText", AGKLua_PauseTweenText);
	lua_register(L, "ResumeTweenText", AGKLua_ResumeTweenText);
	lua_register(L, "PauseTweenChar", AGKLua_PauseTweenChar);
	lua_register(L, "ResumeTweenChar", AGKLua_ResumeTweenChar);
	lua_register(L, "PauseTweenObject", AGKLua_PauseTweenObject);
	lua_register(L, "ResumeTweenObject", AGKLua_ResumeTweenObject);
	lua_register(L, "PauseTweenCamera", AGKLua_PauseTweenCamera);
	lua_register(L, "ResumeTweenCamera", AGKLua_ResumeTweenCamera);
	lua_register(L, "GetNetworkExists", AGKLua_GetNetworkExists);
	lua_register(L, "SetObjectBlendModes", AGKLua_SetObjectBlendModes);
	lua_register(L, "GetShaderExists", AGKLua_GetShaderExists);
	lua_register(L, "GetTextAlignment", AGKLua_GetTextAlignment);
	lua_register(L, "SetupCloudData", AGKLua_SetupCloudData);
	lua_register(L, "GetCloudDataAllowed", AGKLua_GetCloudDataAllowed);
	lua_register(L, "GetCloudDataChanged", AGKLua_GetCloudDataChanged);
	lua_register(L, "GetCloudDataVariable", AGKLua_GetCloudDataVariable);
	lua_register(L, "SetCloudDataVariable", AGKLua_SetCloudDataVariable);
	lua_register(L, "DeleteCloudDataVariable", AGKLua_DeleteCloudDataVariable);
	lua_register(L, "GetDeviceNetworkType", AGKLua_GetDeviceNetworkType);
	lua_register(L, "GetStorageRemaining", AGKLua_GetStorageRemaining);
	lua_register(L, "GetStorageTotal", AGKLua_GetStorageTotal);
	lua_register(L, "CheckPermission", AGKLua_CheckPermission);
	lua_register(L, "RequestPermission", AGKLua_RequestPermission);
	lua_register(L, "DrawText", AGKLua_DrawText);
	lua_register(L, "SetShadowCascadeValues", AGKLua_SetShadowCascadeValues);
	lua_register(L, "ARSetup", AGKLua_ARSetup);
	lua_register(L, "ARGetStatus", AGKLua_ARGetStatus);
	lua_register(L, "ARDestroy", AGKLua_ARDestroy);
	lua_register(L, "ARControlCamera", AGKLua_ARControlCamera);
	lua_register(L, "ARDrawBackground", AGKLua_ARDrawBackground);
	lua_register(L, "ARSetPlaneDetectionMode", AGKLua_ARSetPlaneDetectionMode);
	lua_register(L, "ARSetLightEstimationMode", AGKLua_ARSetLightEstimationMode);
	lua_register(L, "ARGetLightEstimate", AGKLua_ARGetLightEstimate);
	lua_register(L, "ARHitTest", AGKLua_ARHitTest);
	lua_register(L, "ARGetHitTestX", AGKLua_ARGetHitTestX);
	lua_register(L, "ARGetHitTestY", AGKLua_ARGetHitTestY);
	lua_register(L, "ARGetHitTestZ", AGKLua_ARGetHitTestZ);
	lua_register(L, "ARGetHitTestNormalX", AGKLua_ARGetHitTestNormalX);
	lua_register(L, "ARGetHitTestNormalY", AGKLua_ARGetHitTestNormalY);
	lua_register(L, "ARGetHitTestNormalZ", AGKLua_ARGetHitTestNormalZ);
	lua_register(L, "ARGetHitTestType", AGKLua_ARGetHitTestType);
	lua_register(L, "ARHitTestFinish", AGKLua_ARHitTestFinish);
	lua_register(L, "ARGetPlanes", AGKLua_ARGetPlanes);
	lua_register(L, "ARGetPlaneX", AGKLua_ARGetPlaneX);
	lua_register(L, "ARGetPlaneY", AGKLua_ARGetPlaneY);
	lua_register(L, "ARGetPlaneZ", AGKLua_ARGetPlaneZ);
	lua_register(L, "ARGetPlaneAngleX", AGKLua_ARGetPlaneAngleX);
	lua_register(L, "ARGetPlaneAngleY", AGKLua_ARGetPlaneAngleY);
	lua_register(L, "ARGetPlaneAngleZ", AGKLua_ARGetPlaneAngleZ);
	lua_register(L, "ARGetPlaneSizeX", AGKLua_ARGetPlaneSizeX);
	lua_register(L, "ARGetPlaneSizeZ", AGKLua_ARGetPlaneSizeZ);
	lua_register(L, "ARGetPlanesFinish", AGKLua_ARGetPlanesFinish);
	lua_register(L, "ARCreateAnchorFromHitTest", AGKLua_ARCreateAnchorFromHitTest);
	lua_register(L, "ARCreateAnchorFromPlane", AGKLua_ARCreateAnchorFromPlane);
	lua_register(L, "ARFixObjectToAnchor", AGKLua_ARFixObjectToAnchor);
	lua_register(L, "ARGetAnchorStatus", AGKLua_ARGetAnchorStatus);
	lua_register(L, "ARDeleteAnchor", AGKLua_ARDeleteAnchor);
	lua_register(L, "DeleteObjectTree", AGKLua_DeleteObjectTree);
	lua_register(L, "FixSpriteToSkeleton2D", AGKLua_FixSpriteToSkeleton2D);
	lua_register(L, "SetRawTouchMoveSensitivity", AGKLua_SetRawTouchMoveSensitivity);
	lua_register(L, "OverrideConsentAdMob", AGKLua_OverrideConsentAdMob);
	lua_register(L, "LoadConsentStatusAdMob", AGKLua_LoadConsentStatusAdMob);
	lua_register(L, "GetConsentStatusAdMob", AGKLua_GetConsentStatusAdMob);
	lua_register(L, "RequestConsentAdMob", AGKLua_RequestConsentAdMob);
	lua_register(L, "GetSupportedShaderVaryings", AGKLua_GetSupportedShaderVaryings);
	lua_register(L, "GetSpeechNumVoices", AGKLua_GetSpeechNumVoices);
	lua_register(L, "GetSpeechVoiceLanguage", AGKLua_GetSpeechVoiceLanguage);
	lua_register(L, "GetSpeechVoiceName", AGKLua_GetSpeechVoiceName);
	lua_register(L, "OverrideConsentChartboost", AGKLua_OverrideConsentChartboost);
	lua_register(L, "AddHTTPHeader", AGKLua_AddHTTPHeader);
	lua_register(L, "RemoveHTTPHeader", AGKLua_RemoveHTTPHeader);
	lua_register(L, "GetHTTPStatusCode", AGKLua_GetHTTPStatusCode);
	lua_register(L, "GetSpeechVoiceID", AGKLua_GetSpeechVoiceID);
	lua_register(L, "SetSpeechLanguageByID", AGKLua_SetSpeechLanguageByID);
	lua_register(L, "GetSpriteFlippedH", AGKLua_GetSpriteFlippedH);
	lua_register(L, "GetSpriteInScreen", AGKLua_GetSpriteInScreen);
	lua_register(L, "GetSpriteFlippedV", AGKLua_GetSpriteFlippedV);
	lua_register(L, "DrawParticles", AGKLua_DrawParticles);
	lua_register(L, "Draw3DParticles", AGKLua_Draw3DParticles);
	lua_register(L, "SetClipboardText", AGKLua_SetClipboardText);
	lua_register(L, "GetClipboardText", AGKLua_GetClipboardText);
	lua_register(L, "SetEditBoxInputType", AGKLua_SetEditBoxInputType);
	lua_register(L, "GetExpansionFileError", AGKLua_GetExpansionFileError);
	lua_register(L, "GetSkeleton2DDepth", AGKLua_GetSkeleton2DDepth);
	lua_register(L, "GetEditBoxDepth", AGKLua_GetEditBoxDepth);
	lua_register(L, "GetCharBuffer", AGKLua_GetCharBuffer);
	lua_register(L, "GetCharBufferLength", AGKLua_GetCharBufferLength);
	lua_register(L, "GetRawJoystickSlider", AGKLua_GetRawJoystickSlider);
	lua_register(L, "GetRawJoystickPOV", AGKLua_GetRawJoystickPOV);
	lua_register(L, "CopyNetworkMessage", AGKLua_CopyNetworkMessage);
	lua_register(L, "GetURLSchemeText", AGKLua_GetURLSchemeText);
	lua_register(L, "SetObjectAlpha", AGKLua_SetObjectAlpha);
	lua_register(L, "GetObjectColorRed", AGKLua_GetObjectColorRed);
	lua_register(L, "GetObjectColorGreen", AGKLua_GetObjectColorGreen);
	lua_register(L, "GetObjectColorBlue", AGKLua_GetObjectColorBlue);
	lua_register(L, "GetObjectAlpha", AGKLua_GetObjectAlpha);
	lua_register(L, "ClearURLSchemeText", AGKLua_ClearURLSchemeText);
	//lua_register(L, "CreateObjectFromRawHeightMap", AGKLua_CreateObjectFromRawHeightMap);
	lua_register(L, "CreateObjectFromRawHeightMap", AGKLua_CreateObjectFromRawHeightMap);
	lua_register(L, "SetObjectMeshCollisionMode", AGKLua_SetObjectMeshCollisionMode);
	lua_register(L, "SetObjectMeshVisible", AGKLua_SetObjectMeshVisible);
	lua_register(L, "GetObjectTextureName", AGKLua_GetObjectTextureName);
	lua_register(L, "GetObjectNumTextures", AGKLua_GetObjectNumTextures);
	lua_register(L, "GetRawJoystickName", AGKLua_GetRawJoystickName);
	lua_register(L, "PlayYoutubeVideo", AGKLua_PlayYoutubeVideo);
	lua_register(L, "ShareFile", AGKLua_ShareFile);
	lua_register(L, "GetNetworkMessageFromPort", AGKLua_GetNetworkMessageFromPort);
	//lua_register(L, "CreateUDPListener", AGKLua_CreateUDPListener);
	lua_register(L, "CreateUDPListener", AGKLua_CreateUDPListener);
	lua_register(L, "SendUDPNetworkMessage", AGKLua_SendUDPNetworkMessage);
	lua_register(L, "GetUDPNetworkMessage", AGKLua_GetUDPNetworkMessage);
	lua_register(L, "DeleteUDPListener", AGKLua_DeleteUDPListener);
	lua_register(L, "ExtractZipASync", AGKLua_ExtractZipASync);
	lua_register(L, "GetZipExtractProgress", AGKLua_GetZipExtractProgress);
	lua_register(L, "GetZipExtractComplete", AGKLua_GetZipExtractComplete);
	lua_register(L, "GetWindowWidth", AGKLua_GetWindowWidth);
	lua_register(L, "GetWindowHeight", AGKLua_GetWindowHeight);
	lua_register(L, "CancelZipExtract", AGKLua_CancelZipExtract);
	lua_register(L, "GameCenterLogout", AGKLua_GameCenterLogout);
	lua_register(L, "GetImageSizeFromFile", AGKLua_GetImageSizeFromFile);
	lua_register(L, "SetObjectMeshCastShadow", AGKLua_SetObjectMeshCastShadow);
	lua_register(L, "SetObjectShaderConstantArrayFloatByName", AGKLua_SetObjectShaderConstantArrayFloatByName);
	lua_register(L, "SetObjectShaderConstantArrayVec2ByName", AGKLua_SetObjectShaderConstantArrayVec2ByName);
	lua_register(L, "SetObjectShaderConstantArrayVec3ByName", AGKLua_SetObjectShaderConstantArrayVec3ByName);
	lua_register(L, "SetObjectShaderConstantArrayVec4ByName", AGKLua_SetObjectShaderConstantArrayVec4ByName);
	lua_register(L, "SetShaderErrorMode", AGKLua_SetShaderErrorMode);
	lua_register(L, "SetShaderConstantArrayFloatByName", AGKLua_SetShaderConstantArrayFloatByName);
	lua_register(L, "SetShaderConstantArrayVec2ByName", AGKLua_SetShaderConstantArrayVec2ByName);
	lua_register(L, "SetShaderConstantArrayVec3ByName", AGKLua_SetShaderConstantArrayVec3ByName);
	lua_register(L, "SetShaderConstantArrayVec4ByName", AGKLua_SetShaderConstantArrayVec4ByName);
	lua_register(L, "GetObject3DPhysicsMaxLinearVelocity", AGKLua_GetObject3DPhysicsMaxLinearVelocity);
	lua_register(L, "IsInvertedDepth", AGKLua_IsInvertedDepth);
	lua_register(L, "GetClipSpaceMode", AGKLua_GetClipSpaceMode);
	lua_register(L, "IsTopLeftOrigin", AGKLua_IsTopLeftOrigin);
	lua_register(L, "GetDrawing3DSetupTime", AGKLua_GetDrawing3DSetupTime);
	lua_register(L, "GetColorAlpha", AGKLua_GetColorAlpha);
	lua_register(L, "SetPresentMode", AGKLua_SetPresentMode);
	lua_register(L, "ForcePresent", AGKLua_ForcePresent);
	lua_register(L, "GetAppInstalled", AGKLua_GetAppInstalled);
	lua_register(L, "SetSnapChatStickerSettings", AGKLua_SetSnapChatStickerSettings);
	lua_register(L, "ShareSnapChatImage", AGKLua_ShareSnapChatImage);
	lua_register(L, "GetRendererName", AGKLua_GetRendererName);
	lua_register(L, "GetNetworkClientIP", AGKLua_GetNetworkClientIP);
	lua_register(L, "GetNetworkServerIP", AGKLua_GetNetworkServerIP);
	lua_register(L, "GetRawMouseFourthPressed", AGKLua_GetRawMouseFourthPressed);
	lua_register(L, "GetRawMouseFourthState", AGKLua_GetRawMouseFourthState);
	lua_register(L, "GetRawMouseFourthReleased", AGKLua_GetRawMouseFourthReleased);
	lua_register(L, "GetRawMouseFifthPressed", AGKLua_GetRawMouseFifthPressed);
	lua_register(L, "GetRawMouseFifthState", AGKLua_GetRawMouseFifthState);
	lua_register(L, "GetRawMouseFifthReleased", AGKLua_GetRawMouseFifthReleased);
	lua_register(L, "SetSoundDeviceMode", AGKLua_SetSoundDeviceMode);
	lua_register(L, "AddNetworkMessageByte", AGKLua_AddNetworkMessageByte);
	lua_register(L, "GetNetworkMessageByte", AGKLua_GetNetworkMessageByte);
	lua_register(L, "GetCameraWorldX", AGKLua_GetCameraWorldX);
	lua_register(L, "GetCameraWorldY", AGKLua_GetCameraWorldY);
	lua_register(L, "GetCameraWorldZ", AGKLua_GetCameraWorldZ);
	lua_register(L, "FixCameraToObject", AGKLua_FixCameraToObject);
}