From 3ecf76abb280da727806262b4cac3472d94f9c5a Mon Sep 17 00:00:00 2001 From: Daniel Karbach Date: Tue, 7 Aug 2012 21:25:50 +0200 Subject: [PATCH] better positioning of hero tags --- src/battle/BattleState.cpp | 6 +++--- src/battle/HeroTag.cpp | 6 ++++-- src/main.cpp | 2 +- test-data/battle-bg.png | Bin 15235 -> 15240 bytes test-data/hero.png | Bin 6826 -> 1171 bytes 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/battle/BattleState.cpp b/src/battle/BattleState.cpp index 2b46cac..6cb3b32 100644 --- a/src/battle/BattleState.cpp +++ b/src/battle/BattleState.cpp @@ -112,14 +112,14 @@ void BattleState::RenderHeroes(SDL_Surface *screen, const Vector &offset) { } void BattleState::RenderHeroTags(SDL_Surface *screen, const Vector &offset) { - int margin(attackTypeMenu.Height() / 48); + int margin(attackTypeMenu.Height() * 3 / 48); int tagHeight(attackTypeMenu.Height() - 2 * margin); int tagWidth(attackTypeMenu.Width() * 2 + attackTypeMenu.Width() / 2 - 2 * margin); int xOffset((BackgroundWidth() - 2 * tagWidth - 2 * margin) / 2); Point tagPosition[4]; - tagPosition[0] = Point(xOffset, BackgroundHeight() - 2 * tagHeight - margin); - tagPosition[1] = Point(xOffset + tagWidth + 2 * margin, BackgroundHeight() - 2 * tagHeight - margin); + tagPosition[0] = Point(xOffset, BackgroundHeight() - 2 * tagHeight - 3 * margin); + tagPosition[1] = Point(xOffset + tagWidth + 2 * margin, BackgroundHeight() - 2 * tagHeight - 3 * margin); tagPosition[2] = Point(xOffset, BackgroundHeight() - tagHeight - margin); tagPosition[3] = Point(xOffset + tagWidth + 2 * margin, BackgroundHeight() - tagHeight - margin); diff --git a/src/battle/HeroTag.cpp b/src/battle/HeroTag.cpp index 0b7aa27..87f35dd 100644 --- a/src/battle/HeroTag.cpp +++ b/src/battle/HeroTag.cpp @@ -25,9 +25,11 @@ void HeroTag::Render(SDL_Surface *screen, int width, int height, Point posi frame->Draw(screen, position, width, height); } + int verticalHeroOffset((height - hero->Sprite()->Height()) / 2); + Vector heroOffset( - (align == LEFT) ? 3 : width - hero->Sprite()->Width() - 3, - height - hero->Sprite()->Height() - 3); + (align == LEFT) ? verticalHeroOffset : width - hero->Sprite()->Width() - verticalHeroOffset, + verticalHeroOffset); hero->Sprite()->Draw(screen, position + heroOffset, 0, hero->Health() > 0 ? 0 : 2); } diff --git a/src/main.cpp b/src/main.cpp index 767464b..f12b275 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -69,7 +69,7 @@ int main(int argc, char **argv) { monster.SetSprite(&dummySprite); SDL_Surface *heroImg(IMG_Load("test-data/hero.png")); - Sprite heroSprite(heroImg, 96, 96); + Sprite heroSprite(heroImg, 64, 64); Hero hero; hero.SetName("Name"); hero.SetLevel(34); diff --git a/test-data/battle-bg.png b/test-data/battle-bg.png index 4c8a0af8c950c94171545143cd2db725ecacbd1d..b62ab74798ce01f3d471579dc157179595f6817e 100644 GIT binary patch delta 58 zcmZoJ?P)+avPb7A+ZEVyx z98XT3*v#v9dn0+aOTvH=A)e{>Jg-;N-s_6}$&oNY7%*()8{<7sWHFwbTPGr-_RdNm z6NVKVE<6J+n-C29#sF`xGNSmoUIK1^~hG z-3k#A)jn6Pe2+)_y+1m_@a5mXjsua$y8gp=p0NS*_G5})5(E4$tiOG#F~HW4*MT4m z%;4idw6nBs6%(AKV$wKKEU`cs5ch^atm^tM@;q&<1m=4`Uk5YzynkYW#DJkN;M;DO zST?ZoIUtsG5eE|x8wLzX2Qvu!aKz)%E5ZO<9e`{waWxT24?yd4#8dZjL_~D-sjdBo zVf<7~Ne5>IVL;r~AdrM|0|QJ|8CQfH`RvA?QiNN&9++5Ic71lnXssQ%FMOYTI!(fWxMILrvjMLT zvEDBRAm;3^-qvCPd_V49p)kOCgMv(K9;s?_A*00xo}I8i%(jCi3<%o~z?&{Dmb5p`eH}=xJbtas10(XQ z3enaJM?)CbmuFK-F*0Ofi93l{Uw|;cHmaf@;Pe$jG5ZK0ygpT07t*ZX&05fRa? znWSRSwTh>2gE51?!iQ(-mt~FAjVuun9lZRa*6k`iQD3bH1BSwYfg*GfFHuhO)r>n2 zRoi~6rd569#sDBX=<2!)p(~&hc-|k>2Bw=TxunU`O@-nw!l)-GD4nZmRp{3VAi&Y^nQySIGCBaEef3K-dM)=r#BM zz}LyUN<;R59UXQwB}Wf(8Z&w>gxJULo1&;uUlq@lX9X~! z-mgch0)+u#bwJp@0el;lomZMYnNi5M-{&-hfp~Gg7+Bx?Wd%7IIxh@Bb;mn4jqQeF z#v`R8nr~8`iV@vsUL8jDabduy7;vh3WG6}RahRXtLkvOxfOnRJ0q30oep%s^qBC@r zc@@dCiku9c_ZYzIc-~b8qNeW*{Q3%}^}>K*)dD7@xDEhPK#=>gvH#$6I?caci(0!# z42Ub=10mCyo#{&xQ&!;naI-yw#C?PT!$Lmnw?t86f{Ae^h6w}WivFWAt}IbAm>B4n l4TJ&z%Y%kxoSY0<+FylpjBdb445a`7002ovPDHLkV1kDO9QyzO literal 6826 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 KRj*b>y!