From 01d9211a34ca2c7f3fe99550802676a39712053a Mon Sep 17 00:00:00 2001 From: fgenesis Date: Wed, 28 Aug 2013 04:20:36 +0200 Subject: [PATCH 1/2] Little script interface changes: - Add avatar_isSwimming() - toggleInput() does now parse bools correctly - pickupGem() returns gem ID - Change in entity_doCollisionAvoidance(): * Add support for ignore obs * One arg was shifted, this is now fixed but not sure if it adds a problem somewhere. --- Aquaria/ScriptInterface.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Aquaria/ScriptInterface.cpp b/Aquaria/ScriptInterface.cpp index a6203bd..634a44c 100644 --- a/Aquaria/ScriptInterface.cpp +++ b/Aquaria/ScriptInterface.cpp @@ -3090,6 +3090,11 @@ luaFunc(avatar_isRolling) luaReturnBool(dsq->game->avatar->isRolling()); } +luaFunc(avatar_isSwimming) +{ + luaReturnBool(dsq->game->avatar->isSwimming()); +} + luaFunc(avatar_isOnWall) { bool v = dsq->game->avatar->state.lockedToWall; @@ -5672,13 +5677,14 @@ luaFunc(entity_doCollisionAvoidance) int useVel2 = lua_tonumber(L, 6); bool onlyVP = getBool(L, 7); + int ignoreObs = lua_tointeger(L, 8); if (e) { if (useVel2) - ret = e->doCollisionAvoidance(lua_tonumber(L, 2), lua_tointeger(L, 3), lua_tonumber(L, 4), &e->vel2, lua_tonumber(L, 5), onlyVP); + ret = e->doCollisionAvoidance(lua_tonumber(L, 2), lua_tointeger(L, 3), lua_tonumber(L, 4), &e->vel2, lua_tonumber(L, 5), ignoreObs, onlyVP); else - ret = e->doCollisionAvoidance(lua_tonumber(L, 2), lua_tointeger(L, 3), lua_tonumber(L, 4), 0, lua_tonumber(L, 5)); + ret = e->doCollisionAvoidance(lua_tonumber(L, 2), lua_tointeger(L, 3), lua_tonumber(L, 4), 0, lua_tonumber(L, 5), ignoreObs); } luaReturnBool(ret); } @@ -5794,7 +5800,7 @@ luaFunc(entity_followEntity) luaFunc(toggleInput) { - int v = lua_tointeger(L, 1); + bool v = getBool(L, 1); if (v) dsq->game->avatar->enableInput(); else @@ -7716,7 +7722,7 @@ luaFunc(entity_setWeight) luaFunc(pickupGem) { dsq->continuity.pickupGem(getString(L), !getBool(L, 2)); - luaReturnNil(); + luaReturnInt(dsq->continuity.gems.size() - 1); } luaFunc(setGemPosition) @@ -8860,6 +8866,7 @@ static const struct { luaRegister(avatar_isBursting), luaRegister(avatar_isLockable), luaRegister(avatar_isRolling), + luaRegister(avatar_isSwimming), luaRegister(avatar_isOnWall), luaRegister(avatar_isShieldActive), luaRegister(avatar_setShieldActive), From 18a19ca1153852b2ebcea253a36d50a1c8b204b8 Mon Sep 17 00:00:00 2001 From: fgenesis Date: Wed, 28 Aug 2013 04:33:12 +0200 Subject: [PATCH 2/2] Disable path finding debug spam. --- Aquaria/PathFinding.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Aquaria/PathFinding.cpp b/Aquaria/PathFinding.cpp index c683cb2..9080e09 100644 --- a/Aquaria/PathFinding.cpp +++ b/Aquaria/PathFinding.cpp @@ -408,9 +408,9 @@ void PathFinding::molestPath(VectorPath &path) } } } - std::ostringstream os; + /*std::ostringstream os; os << "pushing node [" << i << "] out by (" << n.x << ", " << n.y << ") - dist: " << dist << " maxDist: " << maxDist; - debugLog(os.str()); + debugLog(os.str());*/ //path.getPathNode(i)->value += n; normals[i] = n; } @@ -453,9 +453,9 @@ void PathFinding::molestPath(VectorPath &path) //bowl_loop: sz=path.getNumPathNodes(); - std::ostringstream os; + /*std::ostringstream os; os << "kill bowls # " << runs; - debugLog(os.str()); + debugLog(os.str());*/ for (i = start; i < sz-1; i++) { @@ -502,9 +502,9 @@ void PathFinding::molestPath(VectorPath &path) */ { path.removeNodes(i+1, lastSuccessNode-1); - std::ostringstream os; + /*std::ostringstream os; os << "killing bowl: " << i+1 << " - " << lastSuccessNode-1; - debugLog(os.str()); + debugLog(os.str());*/ //start = lastSuccessNode - (lastSuccessNode-i); //start = i+1; //i = i+1; @@ -516,7 +516,7 @@ void PathFinding::molestPath(VectorPath &path) } sz = path.getNumPathNodes(); } - debugLog("kill bowls done"); + //debugLog("kill bowls done"); sz=path.getNumPathNodes(); // remove last node