mirror of
https://github.com/minetest/minetest.git
synced 2024-09-20 07:20:46 +03:00
fix stability and format
This commit is contained in:
parent
681b915044
commit
759b971433
@ -1856,12 +1856,10 @@ bool ImageSource::generateImagePart(std::string_view part_of_name,
|
|||||||
std::vector<std::string> positionStrs = str_split(positionStr, ',');
|
std::vector<std::string> positionStrs = str_split(positionStr, ',');
|
||||||
if (positionStrs.size() >= 2)
|
if (positionStrs.size() >= 2)
|
||||||
{
|
{
|
||||||
if (is_number(positionStrs[0]))
|
if (is_number(positionStrs[0])) {
|
||||||
{
|
|
||||||
pos.X = mystoi(positionStrs[0]);
|
pos.X = mystoi(positionStrs[0]);
|
||||||
}
|
}
|
||||||
if (is_number(positionStrs[1]))
|
if (is_number(positionStrs[1])) {
|
||||||
{
|
|
||||||
pos.Y = mystoi(positionStrs[1]);
|
pos.Y = mystoi(positionStrs[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1888,31 +1886,29 @@ bool ImageSource::generateImagePart(std::string_view part_of_name,
|
|||||||
|
|
||||||
auto texture =
|
auto texture =
|
||||||
driver->addRenderTargetTexture(size, textureName, colorFormat);
|
driver->addRenderTargetTexture(size, textureName, colorFormat);
|
||||||
|
if (driver->setRenderTarget(texture, video::ECBF_ALL, video::SColor(0,0,0,0))) {
|
||||||
if(!driver->setRenderTarget(texture,irr::video::ECBF_ALL, video::SColor(0,0,0,0))){
|
|
||||||
errorstream << "fails to set render target" << std::endl;
|
|
||||||
};
|
|
||||||
if (baseimg) {
|
if (baseimg) {
|
||||||
auto baseTexture = driver->addTexture("text_renderer_base__", baseimg);
|
auto baseTexture = driver->addTexture("text_renderer_base__", baseimg);
|
||||||
driver->draw2DImage(baseTexture, core::vector2di(0,0));
|
driver->draw2DImage(baseTexture, core::vector2di(0,0));
|
||||||
driver->removeTexture(baseTexture);
|
driver->removeTexture(baseTexture);
|
||||||
}
|
}
|
||||||
font->draw(textdefW, irr::core::recti(pos, sizeText), color);
|
font->draw(textdefW, core::recti(pos, sizeText), color);
|
||||||
driver->setRenderTarget(NULL);
|
driver->setRenderTarget(NULL);
|
||||||
void* lockedData = texture->lock();
|
void* lockedData = texture->lock();
|
||||||
if (lockedData)
|
if (lockedData) {
|
||||||
{
|
if (baseimg) {
|
||||||
if (baseimg)
|
|
||||||
{
|
|
||||||
baseimg->drop();
|
baseimg->drop();
|
||||||
}
|
}
|
||||||
|
|
||||||
baseimg = driver->createImageFromData(colorFormat, size, lockedData, false);
|
baseimg = driver->createImageFromData(colorFormat, size, lockedData, false);
|
||||||
texture->unlock();
|
texture->unlock();
|
||||||
}else
|
} else {
|
||||||
{
|
|
||||||
errorstream << "no data inside texture, internal error" << std::endl;
|
errorstream << "no data inside texture, internal error" << std::endl;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
errorstream << "fails to set render target, "
|
||||||
|
"can this driver renders to target:" <<
|
||||||
|
driver->queryFeature(video::EVDF_RENDER_TO_TARGET) << std::endl;
|
||||||
|
}
|
||||||
driver->removeTexture(texture);
|
driver->removeTexture(texture);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user