1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-12-25 06:05:45 +00:00

Make mouse constraint circle scriptable. New Lua functions:

- setMouseConstraintCircle()
- setMouseConstraint()
This commit is contained in:
fgenesis 2014-03-10 02:26:01 +01:00
parent 071ca187e6
commit af463e63b2
4 changed files with 21 additions and 4 deletions

View file

@ -1426,7 +1426,7 @@ void Avatar::openSingingInterface()
//core->setMousePosition(Vector(400,300));
}
core->setMouseConstraintCircle(singingInterfaceRadius);
core->setMouseConstraintCircle(core->center, singingInterfaceRadius);
stopRoll();
singing = true;
currentSongIdx = SONG_NONE;

View file

@ -8060,6 +8060,18 @@ luaFunc(getMouseWheelChange)
luaReturnNum(core->mouse.scrollWheelChange);
}
luaFunc(setMouseConstraintCircle)
{
core->setMouseConstraintCircle(Vector(lua_tonumber(L, 1), lua_tonumber(L, 2)), lua_tonumber(L, 3));
luaReturnNil();
}
luaFunc(setMouseConstraint)
{
core->setMouseConstraint(getBool(L, 1));
luaReturnNil();
}
luaFunc(fade)
{
dsq->overlay->color.interpolateTo(Vector(lua_tonumber(L, 3), lua_tonumber(L, 4), lua_tonumber(L, 5)), lua_tonumber(L, 6));
@ -9114,6 +9126,8 @@ static const struct {
luaRegister(getMousePos),
luaRegister(getMouseWorldPos),
luaRegister(getMouseWheelChange),
luaRegister(setMouseConstraintCircle),
luaRegister(setMouseConstraint),
luaRegister(resetContinuity),

View file

@ -3296,10 +3296,12 @@ void Core::setMouseConstraint(bool on)
mouseConstraint = on;
}
void Core::setMouseConstraintCircle(float circle)
void Core::setMouseConstraintCircle(const Vector& pos, float circle)
{
mouseConstraint = true;
mouseCircle = circle;
mouseConstraintCenter = pos;
mouseConstraintCenter.z = 0;
}
/*
@ -3333,7 +3335,7 @@ bool Core::doMouseConstraint()
{
//- core->getVirtualOffX()
//- virtualOffX
Vector h = Vector(core->center.x , core->center.y);
Vector h = mouseConstraintCenter;
Vector d = mouse.position - h;
if (!d.isLength2DIn(mouseCircle))
{

View file

@ -1037,7 +1037,7 @@ public:
void removeRenderObject(RenderObject *r, RemoveRenderObjectFlag flag = DESTROY_RENDER_OBJECT);
void setMouseConstraint(bool on);
void setMouseConstraintCircle(float mouseCircle);
void setMouseConstraintCircle(const Vector& pos, float mouseCircle);
void setReentryInputGrab(int on);
@ -1350,6 +1350,7 @@ protected:
std::string appName;
bool mouseConstraint;
float mouseCircle;
Vector mouseConstraintCenter;
bool doMouseConstraint();