master
Eduardo Bart 13 years ago
parent 3a4bd50665
commit ff2e248e40

@ -91,7 +91,7 @@ namespace Otc
DatLight,
DatDontHide,
DatTranslucent,
DatDisplacment,
DatDisplacement,
DatElevation,
DatLyingCorpse,
DatAnimateAlways,

@ -60,8 +60,8 @@ void Thing::internalDraw(int x, int y, int layers, Otc::SpriteMask mask)
TexturePtr spriteTex = g_sprites.getSpriteTexture(spriteId, mask);
Rect drawRect((x - xi*32) - type.xDisplacment,
(y - yi*32) - type.yDisplacment,
Rect drawRect((x - xi*32) - type.xDisplacement,
(y - yi*32) - type.yDisplacement,
32, 32);
g_graphics.drawTexturedRect(drawRect, spriteTex);
}

@ -159,9 +159,9 @@ void ThingsType::parseThingType(std::stringstream& fin, ThingType& thingType)
case Otc::DatTranslucent: // Grounds that are translucent
thingType.isTranslucent = true;
break;
case Otc::DatDisplacment: // Must shift draw
thingType.xDisplacment = Fw::getU16(fin);
thingType.yDisplacment = Fw::getU16(fin);
case Otc::DatDisplacement: // Must shift draw
thingType.xDisplacement = Fw::getU16(fin);
thingType.yDisplacement = Fw::getU16(fin);
break;
case Otc::DatElevation: // Must elevate draw
thingType.elevation = Fw::getU16(fin);

@ -33,7 +33,7 @@ struct ThingType
exactSize = 0;
xPattern = yPattern = zPattern = 0;
animationPhases = 0;
xDisplacment = yDisplacment = 0;
xDisplacement = yDisplacement = 0;
elevation = 0;
isGround = false;
@ -83,7 +83,7 @@ struct ThingType
uint8 exactSize;
uint8 xPattern, yPattern, zPattern;
uint8 animationPhases;
uint16 xDisplacment, yDisplacment;
uint16 xDisplacement, yDisplacement;
uint16 elevation;
std::vector<int> sprites;

@ -68,7 +68,7 @@ void Tile::draw(int x, int y)
for(int yi = -1; yi <= 1; ++yi) {
for(CreaturePtr creature : g_map.getTile(m_position + Position(xi, yi, 0))->getCreatures()) {
auto& type = creature->getType();
Rect creatureRect(x + xi*32 + creature->getWalkOffsetX() - type.xDisplacment, y + yi*32 + creature->getWalkOffsetY() - type.yDisplacment, 32, 32);
Rect creatureRect(x + xi*32 + creature->getWalkOffsetX() - type.xDisplacement, y + yi*32 + creature->getWalkOffsetY() - type.yDisplacement, 32, 32);
Rect thisTileRect(x, y, 32, 32);
// only render creatures where bottom right is inside our rect

Loading…
Cancel
Save