Skip to content
Permalink
Browse files

Add [resize texture modifier Resizes the texture to the given dimensi…

…ons.
  • Loading branch information
SmallJoker authored and est31 committed May 9, 2016
1 parent 95446f4 commit 53e9587861fdf8c588f7e51eca522215167250b4
Showing with 32 additions and 1 deletion.
  1. +7 −0 doc/lua_api.txt
  2. +25 −1 src/client/tile.cpp
@@ -279,6 +279,13 @@ Example:

[combine:16x32:0,0=default_cobble.png:0,16=default_wood.png

#### `[resize:<w>x<h>`
Resizes the texture to the given dimensions.

Example:

default_sandstone.png^[resize:16x16

#### `[brighten`
Brightens the texture.

@@ -1352,7 +1352,6 @@ bool TextureSource::generateImagePart(std::string part_of_name,
u32 r1 = stoi(sf.next(","));
u32 g1 = stoi(sf.next(","));
u32 b1 = stoi(sf.next(""));
std::string filename = sf.next("");

core::dimension2d<u32> dim = baseimg->getDimension();

@@ -1711,6 +1710,31 @@ bool TextureSource::generateImagePart(std::string part_of_name,
}
}
}
/*
[resize:WxH
Resizes the base image to the given dimensions
*/
else if (str_starts_with(part_of_name, "[resize"))
{
if (baseimg == NULL) {
errorstream << "generateImagePart(): baseimg == NULL "
<< "for part_of_name=\""<< part_of_name
<< "\", cancelling." << std::endl;
return false;
}

Strfnd sf(part_of_name);
sf.next(":");
u32 width = stoi(sf.next("x"));
u32 height = stoi(sf.next(""));
core::dimension2d<u32> dim(width, height);

video::IImage* image = m_device->getVideoDriver()->
createImage(video::ECF_A8R8G8B8, dim);
baseimg->copyToScaling(image);
baseimg->drop();
baseimg = image;
}
else
{
errorstream << "generateImagePart(): Invalid "

0 comments on commit 53e9587

Please sign in to comment.