1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-02-03 18:14:01 +00:00

another temp commit

This commit is contained in:
fgenesis 2022-05-07 02:47:59 +02:00
parent ce4ca7f794
commit e357a22784
3 changed files with 52 additions and 2 deletions

View file

@ -9566,6 +9566,8 @@ luaFunc(createQuadGrid)
luaFunc(quadgrid_numPoints)
{
QuadGrid *q = getQuadGrid(L);
if(!q)
luaReturnNil();
lua_pushinteger(L, q->pointsX());
lua_pushinteger(L, q->pointsY());
return 2;
@ -9574,6 +9576,8 @@ luaFunc(quadgrid_numPoints)
luaFunc(quadgrid_setPoint)
{
QuadGrid *q = getQuadGrid(L);
if(!q)
luaReturnNil();
size_t ix = luaL_checkinteger(L, 2);
size_t iy = luaL_checkinteger(L, 3);
if(ix < q->pointsX() && iy < q->pointsY())
@ -9593,9 +9597,44 @@ luaFunc(quadgrid_setPoint)
return luaL_error(L, "out of range");
}
luaFunc(quadgrid_texOffset)
{
QuadGrid *q = getQuadGrid(L);
if(q)
interpolateVec2(L, q->texOffset, 2);
luaReturnNil();
}
q;
// TODO: interp texOffset, setPauseLevel
luaFunc(quadgrid_getTexOffset)
{
QuadGrid *q = getQuadGrid(L);
Vector v;
if(q)
v = q->texOffset;
luaReturnVec2(v.x, v.y);
}
luaFunc(quadgrid_setPauseLevel)
{
QuadGrid *q = getQuadGrid(L);
if(q)
q->pauseLevel = lua_tointeger(L, 2);
luaReturnNil();
}
luaFunc(quadgrid_getPauseLevel)
{
QuadGrid *q = getQuadGrid(L);
luaReturnInt(q ? q->pauseLevel : 0);
}
luaFunc(quadgrid_resetUV)
{
QuadGrid *q = getQuadGrid(L);
if(q)
q->resetUV();
luaReturnNil();
}
// ---------- Minimap related ------------------
@ -10841,6 +10880,15 @@ static const struct {
luaRegister(loadXMLTable),
luaRegister(createQuadGrid),
luaRegister(quadgrid_numPoints),
luaRegister(quadgrid_setPoint),
luaRegister(quadgrid_texOffset),
luaRegister(quadgrid_getTexOffset),
luaRegister(quadgrid_setPauseLevel),
luaRegister(quadgrid_getPauseLevel),
luaRegister(quadgrid_resetUV),
#undef MK_FUNC
#undef MK_ALIAS
#define MK_FUNC(base, getter, prefix, suffix) luaRegister(prefix##_##suffix),

View file

@ -8,6 +8,7 @@ QuadGrid::QuadGrid(size_t w, size_t h)
{
addType(SCO_QUAD_GRID);
_points.resize((w+1) * (h+1));
resetUV();
}
QuadGrid* QuadGrid::New(size_t w, size_t h)

View file

@ -46,6 +46,7 @@ public:
virtual void onUpdate(float dt);
void resetUV(float xmul = 1, float ymul = 1);
void resetPos(float xmul = 1, float ymul = 1);
inline size_t quadsX() const { return _w; }
inline size_t quadsY() const { return _h; }