From 4356621a6440ac915dd0d2dfc70d2c17c3ff321a Mon Sep 17 00:00:00 2001 From: Daniel Karbach Date: Fri, 10 Aug 2012 13:06:33 +0200 Subject: [PATCH] offset target selection cursor from indicator --- src/battle/states/SelectTarget.cpp | 5 ++++- test-data/targeting-icons.png | Bin 744 -> 964 bytes 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/battle/states/SelectTarget.cpp b/src/battle/states/SelectTarget.cpp index dedf8e7..9c50991 100644 --- a/src/battle/states/SelectTarget.cpp +++ b/src/battle/states/SelectTarget.cpp @@ -90,7 +90,8 @@ void SelectTarget::Render(SDL_Surface *screen) { void SelectTarget::RenderCursors(SDL_Surface *screen, const geometry::Vector &offset) { // TODO: this should be related to the enemy's width - Vector cursorOffset(0, 0); + // offset the cursor by 1/8th to the left and bottom + Vector cursorOffset(cursorIcon->Width() / -8, cursorIcon->Height() / 8); Vector indicatorOffset(0, 0); vector > positions; if (selection->TargetsEnemies()) { @@ -100,6 +101,8 @@ void SelectTarget::RenderCursors(SDL_Surface *screen, const geometry::Vector::size_type i(0), end(battle->Heroes().size()); i < end; ++i) { Vector positionCorrection(cursorIcon->Width() / 2, battle->HeroTagAt(i).HeroSprite()->Height() - cursorIcon->Height() / 2); + // indicator offsets are inverted for heroes + positionCorrection -= cursorOffset; positions.push_back(battle->HeroTagPositionAt(i) + battle->HeroTagAt(i).HeroOffset() + positionCorrection); } } diff --git a/test-data/targeting-icons.png b/test-data/targeting-icons.png index c0e56fa83adda1b1386bbf9564296876c24d65af..f437c107bdd4e812d8794814976e323fdd625462 100644 GIT binary patch delta 943 zcmV;g15o_v1;huCBYy*nNklF#%6g?P*cGIm4Ca_tzGWnZ0l+AQ&Qxi+# z!el~Bgx0~q(M4dg>BM4!9f&$LZZMdD6O6k3CJwOKt=;PI-ue12|M$a(#`o|oq!gN- zbI-l^-1~kC3py)nx37|X?-u^?Ni7QTMs^bbP=DJ50C*49LVv&4|275y6!zBbU?4s3 zALz8d8$ZV(w@w4;q_JnrlOlJQ0iJ2qZhaj{CyjklYy4WX0J{Wc^ zWq`1JpvN zl2b8%F#rIRpMTc@0LA@cBE(TyWnUIh?Jd8coXg!i0Dz01ze1U)9+qZ8Y=18(W_**{rVtm?w5X2NeXJ4&H>?Vc+RRR2oF)VsF<0603Xhkk)|BIo7R>)yvDVc_C@O;xxb zLxYL(=kw6~W}O)HFLm!2C1S#!N+_A228c}Nx15aJ)qg~_U7BWJ8%Zku1oX;1m= z-L*`(zayf`t9{c^;mp@vwP|WZf8O0JVC;!}pph0c+A(b@Hx1ukk_}1JR&2s6YUETs zx@PSA$A4vmG50h;b<;CW9L78Xd6Xs`tOFVev!VK$dF`8dF7lnRm+skK2BiA)S+mCT z)c5s#(Dg%A&J#5^I9LgFo=bJh`N0`an2w8m-4i`PAeS+Be>MzUF4Z1^G-_saZZb;C z9Wjv)x}6(AY;P9ivnKM^C}(U$ZfZ)lFAJuvV1NJ5eqh>-Nz%=Vy$s0uzzu1k;Ts6! zHY9OOxT66wv0G8Sf;-|rw`?Of8Hn|Sd_saZBWS3~$a@37ukMs;Fqw$Df3(gM#%2MX z5qkpfjy4}|8}HLca2v)GblC`ZZ1KIJh<$)mzt87@$WX8uiSQ5dMrQTt0qkZ#9;pQ$ zYJY;aYP@fd({bTVE3`h?`}{z#@z62jUVt-TuqD&C=w#yP@qMKM9b@|^qd4S@r3drb z5qd{v1G9r(vePzy?@lj}$b%EXL``ph2aSTxl97Sj`fj-Jf1u`NChEUi8VK%=(G1tZ zvdsk(49KZisy=d4>MR4yQ+hWlSTYgE)F|@IhSCqrlG9HV%9DS)Wv>V-;0f}s+TQlKG4E4%JRV0Yi zrE7#lXqWy0EI8S!PAo`fmg2Yd09q&-4z5Yc7#`SKV7IJ8_iv zejoSou7L$%dF|eBllPWz%V;c$@y3Hq0Ko9=I{-lNXs!0W^ncp~01)nU>`k8YK1KnU50FV#10RT@A3IM>_*DrI$oXqW?4=@*!L0iQ9 zRR#d)zZ?PpdVeo^MvSLbm3>vfY>)F$%v|oT0st=0f7L4S`e1J+#`cc|y;d%&p(C!H ziRcR}r4soGt7EUWuHBmzS6P23Vj4W$000~v4{KjwpJ)eNaozcJM-;exABhh4V=O7r z|9nwf-|Q1vdR2}cg^?2WbV5}L<^Y+g^{uXq+|2>qnt#ufnKKG_czAetczAetczAet zczAedcRy~rV`93qV(<9@)kESAX*kLyhPsmzIwh8z$pI>{JrI5Z_lWlF9{*Y{Zi@Ssz#00000NkvXXu0mjf D!!}y? -- 2.39.2