1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-02-13 16:16:08 +00:00

Forms decoupling #3.

Added Lua functions:
+ setSeeMapMode()
This commit is contained in:
fgenesis 2013-04-27 01:12:50 +02:00
parent ec7dd94a1c
commit a52b26c782
4 changed files with 33 additions and 7 deletions

View file

@ -4125,6 +4125,8 @@ Avatar::Avatar() : Entity(), ActionMapper()
_collisionAvoidMod = COLLIDE_MOD_NORMAL;
_collisionAvoidRange = COLLIDE_RANGE_NORMAL;
_seeMapMode = SEE_MAP_DEFAULT;
}
void Avatar::revert()
@ -4884,10 +4886,6 @@ void Avatar::clampVelocity()
}
}
if (!inCurrent || (inCurrent && withCurrent))
{
if (dsq->continuity.form == FORM_FISH)

View file

@ -66,6 +66,13 @@ enum AvatarAnimLayers
ANIMLAYER_MAX
};
enum SeeMapMode
{
SEE_MAP_NEVER = 0,
SEE_MAP_DEFAULT = 1,
SEE_MAP_ALWAYS = 2,
}
class SongIconParticle : public Quad
{
public:
@ -334,6 +341,9 @@ public:
void setCollisionAvoidanceData(int range, float mod);
void setSeeMapMode(SeeMapMode mode) { _seeMapMode = mode; }
SeeMapMode getSeeMapMode() const { return _seeMapMode; }
int leaches;
protected:
@ -471,6 +481,7 @@ protected:
bool _canLockToWall;
bool _canSwimAgainstCurrents;
bool _canCollideWithShots;
SeeMapMode _seeMapMode;
int _collisionAvoidRange;
float _collisionAvoidMod;

View file

@ -258,11 +258,18 @@ void MiniMapRender::onUpdate(float dt)
if (dsq->darkLayer.isUsed() && dsq->game->avatar)
{
if (dsq->continuity.form != FORM_SUN && dsq->game->avatar->isInDarkness())
const SeeMapMode mapmode = dsq->game->avatar->getSeeMapMode();
if(mapmode == SEE_MAP_ALWAYS)
radarHide = false;
else if(mapmode == SEE_MAP_NEVER)
radarHide = true;
else if (dsq->continuity.form != FORM_SUN && dsq->game->avatar->isInDarkness())
{
radarHide = true;
}
else
if(!radarHide)
{
for (Path *p = dsq->game->getFirstPathOfType(PATH_RADARHIDE); p; p = p->nextOfType)
{
@ -273,6 +280,7 @@ void MiniMapRender::onUpdate(float dt)
}
}
}
float t = dt*2;
if (radarHide)
{

View file

@ -2725,6 +2725,12 @@ luaFunc(setCanActivate)
luaReturnNil();
}
luaFunc(setSeeMapMode)
{
dsq->game->avatar->setSeeMapMode((SeeMapMode)lua_tointeger(L, 1));
luaReturnNil();
}
luaFunc(avatar_setCanBurst)
{
dsq->game->avatar->setCanBurst(getBool(L, 1));
@ -2775,7 +2781,6 @@ luaFunc(avatar_setCollisionAvoidanceData)
luaReturnNil();
}
luaFunc(avatar_toggleCape)
{
dsq->game->avatar->toggleCape(getBool(L,1));
@ -9241,6 +9246,10 @@ static const struct {
luaConstant(OT_INVISIBLEIN),
luaConstant(OT_HURT),
luaConstant(OT_INVISIBLEENT),
luaConstant(SEE_MAP_NEVER),
luaConstant(SEE_MAP_DEFAULT),
luaConstant(SEE_MAP_ALWAYS),
};
//============================================================================================