make last 3 arguments to sim.brush optional, for convenience
This commit is contained in:
parent
e9d80fe52a
commit
e712a8dbec
@ -1925,18 +1925,20 @@ int BrushClosure(lua_State * l)
|
|||||||
int yield_x, yield_y;
|
int yield_x, yield_y;
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
if (!(y < sizeY)) return 0;
|
if (!(y < sizeY))
|
||||||
|
return 0;
|
||||||
if (x < sizeX)
|
if (x < sizeX)
|
||||||
{
|
{
|
||||||
bool yield_coords = false;
|
bool yield_coords = false;
|
||||||
if(bitmap[(y*sizeX)+x] && (positionX+(x-radiusX) >= 0 && positionY+(y-radiusY) >= 0 && positionX+(x-radiusX) < XRES && positionY+(y-radiusY) < YRES))
|
if (bitmap[(y*sizeX)+x] && (positionX+(x-radiusX) >= 0 && positionY+(y-radiusY) >= 0 && positionX+(x-radiusX) < XRES && positionY+(y-radiusY) < YRES))
|
||||||
{
|
{
|
||||||
yield_coords = true;
|
yield_coords = true;
|
||||||
yield_x = positionX+(x-radiusX);
|
yield_x = positionX+(x-radiusX);
|
||||||
yield_y = positionY+(y-radiusY);
|
yield_y = positionY+(y-radiusY);
|
||||||
}
|
}
|
||||||
x++;
|
x++;
|
||||||
if (yield_coords) break;
|
if (yield_coords)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1957,12 +1959,22 @@ int BrushClosure(lua_State * l)
|
|||||||
|
|
||||||
int LuaScriptInterface::simulation_brush(lua_State * l)
|
int LuaScriptInterface::simulation_brush(lua_State * l)
|
||||||
{
|
{
|
||||||
// see Simulation::ToolBrush
|
int argCount = lua_gettop(l);
|
||||||
int positionX = luaL_checkint(l, 1);
|
int positionX = luaL_checkint(l, 1);
|
||||||
int positionY = luaL_checkint(l, 2);
|
int positionY = luaL_checkint(l, 2);
|
||||||
int brushradiusX = luaL_checkint(l, 3);
|
int brushradiusX, brushradiusY;
|
||||||
int brushradiusY = luaL_checkint(l, 4);
|
if (argCount >= 4 || !luacon_model->GetBrush())
|
||||||
int brushID = luaL_checkint(l, 5);
|
{
|
||||||
|
brushradiusX = luaL_checkint(l, 3);
|
||||||
|
brushradiusY = luaL_checkint(l, 4);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui::Point size = luacon_model->GetBrush()->GetSize();
|
||||||
|
brushradiusX = size.X;
|
||||||
|
brushradiusY = size.Y;
|
||||||
|
}
|
||||||
|
int brushID = luaL_optint(l, 5, luacon_model->GetBrushID());
|
||||||
|
|
||||||
vector<Brush *> brushList = luacon_model->GetBrushList();
|
vector<Brush *> brushList = luacon_model->GetBrushList();
|
||||||
if (brushID < 0 || brushID >= (int)brushList.size())
|
if (brushID < 0 || brushID >= (int)brushList.size())
|
||||||
|
Reference in New Issue
Block a user