mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2025-02-27 16:44:00 +00:00
fix handling of EF_HURT -- shouldn't be trimmed
This commit is contained in:
parent
7a5a222b78
commit
5a24f2868b
3 changed files with 8 additions and 8 deletions
|
@ -1276,9 +1276,9 @@ void SceneEditor::toggleElementHurt()
|
||||||
const bool set = !(t0.flags & TILEFLAG_HURT);
|
const bool set = !(t0.flags & TILEFLAG_HURT);
|
||||||
|
|
||||||
if(set)
|
if(set)
|
||||||
ts.changeFlags(TILEFLAG_SOLID | TILEFLAG_HURT, 0, &selectedTiles[0], n);
|
ts.changeFlags(TILEFLAG_SOLID | TILEFLAG_HURT, TILEFLAG_TRIM, &selectedTiles[0], n);
|
||||||
else
|
else
|
||||||
ts.changeFlags(0, TILEFLAG_SOLID | TILEFLAG_HURT | TILEFLAG_SOLID_IN | TILEFLAG_SOLID_THICK, &selectedTiles[0], n);
|
ts.changeFlags(0, TILEFLAG_SOLID | TILEFLAG_HURT | TILEFLAG_SOLID_IN | TILEFLAG_TRIM, &selectedTiles[0], n);
|
||||||
|
|
||||||
game->reconstructGrid(true);
|
game->reconstructGrid(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,11 +7,11 @@
|
||||||
static const unsigned s_tileFlags[] =
|
static const unsigned s_tileFlags[] =
|
||||||
{
|
{
|
||||||
/* EF_NONE -> */ TILEFLAG_NONE,
|
/* EF_NONE -> */ TILEFLAG_NONE,
|
||||||
/* EF_SOLID -> */ TILEFLAG_SOLID,
|
/* EF_SOLID -> */ TILEFLAG_SOLID | TILEFLAG_TRIM,
|
||||||
/* EF_MOVABLE-> */ TILEFLAG_NONE, /* unused */
|
/* EF_MOVABLE-> */ TILEFLAG_NONE, /* unused */
|
||||||
/* EF_HURT -> */ TILEFLAG_SOLID | TILEFLAG_HURT,
|
/* EF_HURT -> */ TILEFLAG_SOLID | TILEFLAG_HURT,
|
||||||
/* EF_SOLID2 -> */ TILEFLAG_SOLID | TILEFLAG_SOLID_THICK,
|
/* EF_SOLID2 -> */ TILEFLAG_SOLID,
|
||||||
/* EF_SOLID3 -> */ TILEFLAG_SOLID | TILEFLAG_SOLID_THICK | TILEFLAG_SOLID_IN
|
/* EF_SOLID3 -> */ TILEFLAG_SOLID | TILEFLAG_SOLID_IN
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ ElementFlag TileMgr::GetElementFlag(TileFlags tf)
|
||||||
ef = EF_HURT;
|
ef = EF_HURT;
|
||||||
else if(tf & TILEFLAG_SOLID_IN)
|
else if(tf & TILEFLAG_SOLID_IN)
|
||||||
ef = EF_SOLID3;
|
ef = EF_SOLID3;
|
||||||
else if(tf & TILEFLAG_SOLID_THICK)
|
else if(!(tf & TILEFLAG_TRIM))
|
||||||
ef = EF_SOLID2;
|
ef = EF_SOLID2;
|
||||||
else
|
else
|
||||||
ef = EF_SOLID;
|
ef = EF_SOLID;
|
||||||
|
@ -163,7 +163,7 @@ void TileMgr::exportGridFillers(std::vector<GridFiller>& fillers) const
|
||||||
gf.texture = t.et->tex.content();
|
gf.texture = t.et->tex.content();
|
||||||
gf.width = t.et->w;
|
gf.width = t.et->w;
|
||||||
gf.height = t.et->h;
|
gf.height = t.et->h;
|
||||||
gf.trim = !(t.flags & TILEFLAG_SOLID_THICK);
|
gf.trim = !!(t.flags & TILEFLAG_TRIM);
|
||||||
if(t.flags & TILEFLAG_HURT)
|
if(t.flags & TILEFLAG_HURT)
|
||||||
gf.obs = OT_HURT;
|
gf.obs = OT_HURT;
|
||||||
else if(t.flags & TILEFLAG_SOLID_IN)
|
else if(t.flags & TILEFLAG_SOLID_IN)
|
||||||
|
|
|
@ -99,7 +99,7 @@ enum TileFlags
|
||||||
TILEFLAG_NONE = 0,
|
TILEFLAG_NONE = 0,
|
||||||
TILEFLAG_REPEAT = 0x01, // texture repeats and uses texscale for the repeat factor
|
TILEFLAG_REPEAT = 0x01, // texture repeats and uses texscale for the repeat factor
|
||||||
TILEFLAG_SOLID = 0x02, // generates OT_INVISIBLE
|
TILEFLAG_SOLID = 0x02, // generates OT_INVISIBLE
|
||||||
TILEFLAG_SOLID_THICK = 0x04, // generates more OT_INVISIBLE
|
TILEFLAG_TRIM = 0x04, // trim generated OT_* to make it less thick
|
||||||
TILEFLAG_SOLID_IN = 0x08, // instead of OT_INVISIBLE, generate OT_INVISIBLEIN
|
TILEFLAG_SOLID_IN = 0x08, // instead of OT_INVISIBLE, generate OT_INVISIBLEIN
|
||||||
TILEFLAG_HURT = 0x10, // always generate OT_HURT
|
TILEFLAG_HURT = 0x10, // always generate OT_HURT
|
||||||
TILEFLAG_FH = 0x20, // flipped horizontally
|
TILEFLAG_FH = 0x20, // flipped horizontally
|
||||||
|
|
Loading…
Add table
Reference in a new issue