Sfoglia il codice sorgente

Remove convenience constructor functions for vertex and index buffers.

love.graphics.newVertexBuffer and newIndexBuffer don't do enough to justify their existence since love.graphics.newBuffer already covers all buffer creation functionality.

1-based indices in newIndexBuffer versus 0-based indices in newBuffer(..., {index=true}) was also confusing.
Sasha Szpakowski 2 anni fa
parent
commit
0b48dacb4e
1 ha cambiato i file con 0 aggiunte e 96 eliminazioni
  1. 0 96
      src/modules/graphics/wrap_Graphics.cpp

+ 0 - 96
src/modules/graphics/wrap_Graphics.cpp

@@ -1768,100 +1768,6 @@ int w_newBuffer(lua_State *L)
 	return 1;
 }
 
-int w_newVertexBuffer(lua_State *L)
-{
-	Buffer::Settings settings(BUFFERUSAGEFLAG_VERTEX, BUFFERDATAUSAGE_DYNAMIC);
-	luax_optbuffersettings(L, 3, settings);
-
-	std::vector<Buffer::DataDeclaration> format;
-	luax_checkbufferformat(L, 1, format);
-
-	Buffer *b = luax_newbuffer(L, 2, settings, format);
-
-	luax_pushtype(L, b);
-	b->release();
-	return 1;
-}
-
-int w_newIndexBuffer(lua_State *L)
-{
-	Buffer::Settings settings(BUFFERUSAGEFLAG_INDEX, BUFFERDATAUSAGE_DYNAMIC);
-	luax_optbuffersettings(L, 3, settings);
-
-	size_t arraylength = 0;
-	size_t bytesize = 0;
-	DataFormat format = DATAFORMAT_UINT16;
-	Data *data = nullptr;
-	const void *initialdata = nullptr;
-
-	if (luax_istype(L, 1, Data::type))
-	{
-		data = luax_checktype<Data>(L, 1);
-		initialdata = data->getData();
-		bytesize = data->getSize();
-	}
-
-	if (lua_istable(L, 1))
-	{
-		arraylength = luax_objlen(L, 1);
-
-		// Scan array for invalid types and the max value.
-		lua_Integer maxvalue = 0;
-		for (size_t i = 0; i < arraylength; i++)
-		{
-			lua_rawgeti(L, 1, i + 1);
-			lua_Integer v = luaL_checkinteger(L, -1);
-			lua_pop(L, 1);
-			if (v < 0)
-				return luaL_argerror(L, 1, "expected positive integer values in array");
-			else
-				maxvalue = std::max(maxvalue, v);
-		}
-
-		format = getIndexDataFormat(getIndexDataTypeFromMax(maxvalue));
-	}
-	else if (data == nullptr)
-	{
-		lua_Integer len = luaL_checkinteger(L, 1);
-		if (len <= 0)
-			return luaL_argerror(L, 1, "number of elements must be greater than 0");
-		arraylength = (size_t) len;
-		settings.zeroInitialize = true;
-	}
-
-	if (data != nullptr || !lua_isnoneornil(L, 2))
-	{
-		const char *formatstr = luaL_checkstring(L, 2);
-		if (!getConstant(formatstr, format))
-			return luax_enumerror(L, "index data format", getConstants(format), formatstr);
-	}
-
-	Buffer *b = nullptr;
-	luax_catchexcept(L, [&] { b = instance()->newBuffer(settings, format, initialdata, bytesize, arraylength); });
-
-	if (lua_istable(L, 1))
-	{
-		Buffer::Mapper mapper(*b);
-		uint16 *u16data = (uint16 *) mapper.data;
-		uint32 *u32data = (uint32 *) mapper.data;
-
-		for (size_t i = 0; i < arraylength; i++)
-		{
-			lua_rawgeti(L, 1, i + 1);
-			lua_Integer v = luaL_checkinteger(L, -1);
-			lua_pop(L, 1);
-			if (format == DATAFORMAT_UINT16)
-				u16data[i] = (uint16) v;
-			else
-				u32data[i] = (uint32) v;
-		}
-	}
-
-	luax_pushtype(L, b);
-	b->release();
-	return 1;
-}
-
 static PrimitiveType luax_checkmeshdrawmode(lua_State *L, int idx)
 {
 	const char *modestr = luaL_checkstring(L, idx);
@@ -3834,8 +3740,6 @@ static const luaL_Reg functions[] =
 	{ "newShader", w_newShader },
 	{ "newComputeShader", w_newComputeShader },
 	{ "newBuffer", w_newBuffer },
-	{ "newVertexBuffer", w_newVertexBuffer },
-	{ "newIndexBuffer", w_newIndexBuffer },
 	{ "newMesh", w_newMesh },
 	{ "newTextBatch", w_newTextBatch },
 	{ "_newVideo", w_newVideo },