From 3b58790c965ab256d721208b08547d717e6d2884 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 4 Mar 2017 02:34:33 +0800 Subject: [PATCH 1/5] Add files via upload --- projects/mtg/bin/Res/graphics/iconcard.png | Bin 0 -> 17129 bytes projects/mtg/bin/Res/graphics/iconexile.png | Bin 0 -> 16333 bytes projects/mtg/bin/Res/graphics/iconhand.png | Bin 0 -> 17808 bytes projects/mtg/bin/Res/graphics/iconlibrary.png | Bin 0 -> 17403 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 projects/mtg/bin/Res/graphics/iconcard.png create mode 100644 projects/mtg/bin/Res/graphics/iconexile.png create mode 100644 projects/mtg/bin/Res/graphics/iconhand.png create mode 100644 projects/mtg/bin/Res/graphics/iconlibrary.png diff --git a/projects/mtg/bin/Res/graphics/iconcard.png b/projects/mtg/bin/Res/graphics/iconcard.png new file mode 100644 index 0000000000000000000000000000000000000000..1a024569fd1cf4a14bd9f424cd512d53d0c10679 GIT binary patch literal 17129 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 literal 0 HcmV?d00001 diff --git a/projects/mtg/bin/Res/graphics/iconexile.png b/projects/mtg/bin/Res/graphics/iconexile.png new file mode 100644 index 0000000000000000000000000000000000000000..93ee86435fc030530cab67706fa279fd09c2de4e GIT binary patch literal 16333 zcmeI3dsGv57RLurP>Qx&-!B^Dqpg@sCJ#u)5LR9S3ZmkIB1a}O6Br0dOacU2S(LV{ zVy)KFc73hLx+}%)BAUfg6X?WyScLP5nvSMkxXb*+zz>@NwA@B?PuZujizIg^vu z{oUXF-kHz+{q9Wu$eP%gIm5iidm{)kEHWZ=A@~%4*UyJ|g7@`?XTIQLs3BsB2|(RX;$=ZufwRK~18gyL0z@ycrq& zrZ$W;8v;>7``%40!Ccg&82s?s0}W zmV&cFN^q`th><4DdSjekuT?o$S!@?VUPuV9b9*D^YlMPpNx^=upB;tH4qW z5Qrq;87CIw5;-oC`ia21$VJ3C6Viy*Q;a63w}v!MgyAv_m&#le~uB$kj;DMbnh{{V?VOi29&YEmK-XaeW}Of1Kw0UG}o zF=rD-dUgs}6aQwLI|X}3z{*P0-t)E0|DXmYBJ01afST3>C}=Sy5K(HmKt@UB0<}!- zFObOP6eX2`)+Cp9RrrThK!VFexK!NLj{Ywd=vljDDxpiEDHYmvQe6W-rJ_Aw-}}Ma zrtdZ6r(HDX{_EWYyLxxurm3{wG~l4&g3V7j8XcxY`;7H07w7y0d*jq*I_4|gJ<~Y~ZpOjy0JQsuK%aKn zeZl!Lzx15ZkEsf2aY-N`>?Vhcoe$*Ya6v%WO%4}3AIQt$f`G7_94>Y~ke9;+0bw^e zTCz>19>@I5D<2g!^O@A@^ZK! zAnYcGi=7YT<#0hj*i8->J0Hl);evp$n;b57K9HBg1p#3W-`xY+qX zUJe%ogx%zDvGakv94-h5yUF2V=L2~;To4d;lf%W%2l8^bARz1}hl`yLyv)vmCLKN794u8gRGeLMe}Q!m4lZWn>W^lC8Sl22=U)Hc|Q}r{h&1G+pLF? z)gJRh7mPesLwbov4j%WYvY@qo6E&|)n11F^^P~eYM+=Ltu3Ubhowp|C4;86Je`0^$ z>hQ=d%xkYzw)wU_&3blgMagncm1mx3p4<8Sg86<=WX&PX>#y1_oY?g0sNsd9h720? zbm$)U5%XWj9rpZ=@1~<8VTRY*s7uvns z+}bwP-#l~eXrcAMf!$HNc7~UhsQ2#H`uo+bxGrB`d2x^T+pBLss7|wPe*eU8W47Vv zj$HNlu%rBbV_40gsrilhFMYhOzJjIlmh>K6AA zmv=5lKFm+dU+)|ENzoWoW%Q{oTPA$ z+1$BvXB0;Tt~nAkWx>qRR#1cD;!$Cxr-%Qdc1-P-%f817^1c3Id+0ZDxZk#zukI@s zmoL6?|MB)?JC+H*8e2LcKzFO@Gt>BS<64u0F8Vayo2_iPG9qu7XMy+I!PUkaYXRnU z*q1kqiMK7*rNuXMqJDp-+Hh_4JB5X_$aYC`b^OsAFU7j$*=)A>sV|>CR~~;Z&3e6B z7vJVZZa6_ngMvDeQ)=9=Tq?uz_N+`vvt2o47tU)3s>Y=3GY!{`isGng<491~ou_vn zKYkowU7VU?aB6I zX}LbB?hoBpr%nxgE@Hx6y~^*G-+rAl%{v+8E<$^P3t nP0-|o{b7mw!-8f#xPW|Tl5V_x`x~&e5hOA!CiK(bsU%KCjJXennTQG*awmx~vxmvtni;v}Qj}A2oRm6IQA*0~ zRLZp|IS!7JPMte{v}XGZzAYSsdHd zQ|w8zCo}k5BRZ4s4;qDX1<-5&FkclapfiF%v9>=Lz~)hOddn(wwAoCGjt7y3p$V+O zK(E-0pJhjKYQ5jm8iGvb#FeU}cSb+kvOh=V9P zmePRQp0o|xR(v6-O*A5+7#J);+t}0yOT-dPu!h<=3>J^Z;L%t-3X3CSOvzZH_Sm6A zod$g~7cyC7XX~|N;UI~k6DSr7$Y^v(NQhAg-iR*@Kx0i!P0<(}8izwcGf<*1o|qnr z;)!%eoqY6T4T=~-wm{70^R%UY>Hhp+F-1p58fg3&TNhU_9*8FzV+T=0htdUTtPuwN zB_k$d+(r;A~wm}HSkbcopK4NS3aLZ9j&qr9}#L>S!wHeuz5^=h)CZY4WB)c>Ip}nHC+r+ zp;9zPVert)6^A3^O~@F60S0=@?fT9yjSOf;0i6auR zA6-u}|ID?ckPS6CI%m=x>Dm8ZLwv!_XQ6D^BB(UOCY3ByxFc=M1>E}S=tl*IJ<^T@ zbfE~8ZZ?X}$K5vGzsB2>)MjMUlIaX-Bcn2;djVvcqdys)IIVHZF*Ek(3H*DMNBvJS z|9Xs&K#+&Dp+;Se%=)?$5uYUvp$kFF0H`MZmu)`k@KX!8XLGc)=X2QqfgFhF+y1o- zn3#YJ6BA<$ii!6ppo~cbe-s_Z!k}$h6@G+S(M>I<^$8paKV5ei!xlud|+A`E*KDGQHBed4@@h=1p|UC%5Wj`foWy9 zU_g*X87^c#Fs%$13<$C)!-dQTrj_A>0YMgJxRCk4v@%>UAjqN&7cw81R)z}(1X+~f zLgoY0%5cGeAd50w$b4X087>$QWKo6-nGZ}W!vzC^EXr^p^MPq)xL`n#MHwz+J}|8e z7Yqoph=^<2#G|z!4|<+91bT3mHn5rnJ#?$huyLjVK=?8Mh=~P&cf-(UHvj}<0N|M) z0FZwKfcgAn-|Dr{^Srxltu0+cn_nCWvOg$UP%}J$YjNG+TAq>d!YHULXqVgmaPJ3~ z(k>n5*j3Y9E4`9G(Ad|L{DO)ygMg8!ew| zi)WKn7RSx}RMb)&jDA zxQ`j0r8s-(@GLha^+sUx{KEX)nV`b#sqM1>A+TNE@6f}5>j&lH^rwV&YhOhbX2odE zy>A0_bf$&@8jBY<{PYt>zF4(=QA{L21!hxzjlAoHTiLhUV+ToZ?=!nKfW{QR+*g`F z)RdT#l9KXmJ(?lCZ4Gk`+%ZN*-!EOd)K{)}R)%MOnyTM>jJxxrDZB4|v!=>d&}srW z0c{E!wA9tB>JOs_y6>EM@%%Z1&qsTEdml+pzjZ0-cN_|ph{a+R`sT*e1Fz-Zo=#5@ z4=KZRY-W@7|S*yXPEpc#@Hwn|ta(&*O$PW68aHq?J#-i+Jbr@)BohnP=28o4Cm* zI`@9~Yw3r^@Zd&+D$mmwY4UygG0#)8C~3xgt@U&zMT%K1Q)o?%Dz@<+fv$bo5sE4kSkNCUR>2%1NdldnTD2imX28X6cdf`f-< z2gX-jGw{e)nBFrKE@^7IUR-QqM?9kcaFykb*ZSPPi`E)365z6YAW<`MQ+X)1i2v~B z_3NvfIiytk<;^{>mp0Cfk9Bi%(a!9kv2)*017&*;;^-f;#E zk6eIFg@I~sUbe2!xm(v!lXS=bd?Sa1H#1ACuC9i1VU^L!Gp1-cT134LHD9Em;pgr? zPj0*J&T9GZBK9|(uxm=(Z!~mEQFUJ5jXmn-;e&b&EIewSD)hQ|@nYB?H}))TOi4-M z1P1oq?Xoy{HF}tO*wAY=kR)e#KyuvZxK{Fa;ja?+t1ho^*7m+b;7Km*QdCr=`XyAa zK2UoDT9I#c-^&lu=cEliEGYA$}(JyqEM0BAZ@>6^57?;po05!=513V4Q ze&D<3ZLB_dQpZEZ4!-K=?ed2-$z*J70o_4FF^`d8Rq_e%C~+MBLy`8=mY zrS>=dS0|PLp3~X`05XHYD2X19+L-5_+Q8B>5yXHX2$ex@cDA37k58pr=9MeQC=|-3 ziYSWQ_8INJJF5)xvW@3*i-!gUwQnisYvuqf0NU#r4XlA>r&@V$^jjMnE5HAKrtiMB zTMK@#e^A87o0=X0%5|CyPpdzR(%Pn;p+94-hnZSsg#Z2|xt4^aq$fM3C~xm7C@ef^ zbT|R35-9?g$ox-T3YOrYC0BH+9YO`m8A_04gE=dH9bb*U7P-OHT_Mxydv?X z8rv(!r?xM4BG0f;16V8;4vkJ)et>ObP>`F;3=1{=eBO_n* z_69)xvaGC3B9YWaym`6x;nm1<>1Xyfg-6bupRZQry~WH!U3m522{91uXk+6S6-9+g zJRu>$%f+SY*|ROBn~ccE97^1e$`ofz))YG&SvYYs;Y+dwOc}6YjfGQM2O+` z5ARJq3O3UKU-`GYToV`QG_@GDX z%E?I$+6Q6Je$#*1d?^8H4b0W6Kr@ z_ZsP$lEk38;{x*-Hqe&*>djR`8rsF#Iq;%nd)v*1hAybmi^B$3H;QlxDfJsvYpSP+zUc^b{PDNTRLeTY zz;4XDd}Cb<2cUwY{Y`XYmPm& z$+vs$=6b1QY(CN)4P>jit(teYsS9d8eO9JuFa4aFH{j#Ps)Cc>sdrSIQ|&Z#Y^{B| zrD9odgi(wk5DB~hq73|2&23D&v37lm<;}ylt}1JLmG+q7V*m7yPIgX)4n=e?@hB-!~Pr5Nw>IN)q|xBJ=8em;{AN#@*h&+p#( zo_o(s{usVqx@3Wcsg)@Jz`}c>ryuf7M&53tO_0y6@@`w?Ym9thpb`MfAM|g+&e@ie z0hqg4v^+o+z+cQ0$RrMsP!aD+(eOnO%Q9f>FsI+Iqi z_*A~!1CA6eT&IASty{8Oux_n@DQLhVy$)Z)xB$9rhfmh#oN#p|qNtJ!<5Q-EHB&X0E zsFdM?go1$>d9*^@Gc}=r0*he@ELACyINGpr@<^FVri_%mW5@ybI|oK`!sic+J?wlX zl3|Bds^-Ta2>Or?8>w6#D~Bn5uu>MS5Ww?ekW;Z6?(9{f@WJG~rKI<~bMCN4^o}sS zr#Gx;DfDK@2{~7uhXRIFGR1P4OzhIT%9i#cBzkxdXRH)Sg)+5rrV|C-dob05La-;K zf?bfM=t!nAkiX@0I*-BOQJJ%;$S2i6q_-zZgD(?`!eigoU@oW9cq|%^!8X(|=!w=q zwvG@|LBC7Iu&;rRP{0e9DI}1}MI?bDV2WHC;Y1m1H0U|7pm-iKu}pzX3wB{RQHE4C`S8-@>&_LK>t^&6#6T8Kz99AO~~=D=i#OB0eE=}ed$My0`IN0{NrWx~ub$1qmE zv_bd~X5FMD~S=h9>a$QSQ|@2!Hn& z>PT3MwV`^YdV0NEL@5hbsUZdI9)YZhf3nSc1>cT9D?3s2HD4_HFXTW8#r$U(V8KjA z7>&&(vl)&Ia#$FXOXkpo5ZMu8uowbJ$e>ak`!oFSWq`q>ad@nOlJ-Bzz~I^yL_*RC zSm;9OKdJtP|EHw=zPk5sZ=0dlkpJ(b_3pp7i(r549$GY=^fwJWq~Ic(AL=P|G$+cC zw!!7n+dn{GIK|OD{kd!^@}ki6pM9Z*ZgglMcBr8n9Xc54FBPd==zXK1nhm1#cQ(D( z-et&5IPAh^u^7m84Bd>5SSr%M;s8$(a*9f?11JMO1csE;feX$bc`$fJf21l(3m*gp1lz=MVe>(Gaa<@M*d~q( zn-9v1<3a(!HgR0od{AB-7YYcriQ~fNgYx3IP(ZLv92Yhplo!W^0)lPgxUl)4yf`it z5Ns32h0O=$#c`p4V4FBDY(6M2jtd0@+r)8U^FeuWTqq#eCXNf656X+a3PJ}57a3k3w*#BpKsL3wdpC?MD-jtiR)%8TPd0l_wLT-bb2UK|$+2)2od%XIM3 zT3CuaPpd{Aob6CgP#_Q85(NwW_yDY%27q=G0I%L4-wgmnQvrA!3IK06025@}SC@GK zFzUItr~7ivt)@Lse1mS-T=Q|8Sxaf1J zqUu>~*VgFfrme(CM)^wKU$%iv+{e90ZaR}jqi-okZ7R-PTcmqn7W}a`!#s3kONg#YNBOW2xE*)P zIb@<8Q|AoQTDZ~U%Ol!a)vXooW+Mxium60Cb_$`r_)>is3{NABEj>y|9UofRu>ItH zo4NI3-G-=brA7B&uLGwDT^1lEC56l5`P3BNymNF+=$M@b}qJ|3{e+1dGUPR=LI-vRlOr+d6p$QA+F z?9-<7$ffTQN7p5mlsMUP6`RkWKOYXVO|=UWY%`&W!GVFl9$1jj zUiZE6kN2K$xm+m8JA9bBXR!i;bZKd6hmRcbZ=M3$_nHLmPU?8G`SL;cBc*ZNl z(@l&B4it)Vr3a)j4j*vePXUAFN26_w@>2|AvmS zASF4O!{Pi?Uk~Ty<+c2JJ}$`Uau%Pot?u511X18ezWZE`l&;@ApZiqHF3VNffZt4; z_W3syMcw-`iB)ahTv0JjQuE+%e>3M_zn{5i*CRP+bX|tquE(NA9}Z|WYMlaiF5Bbg)DPBbyrflc2Ni;IdrY@Ivq0VA0-V|&OBg50=0 z=juZN)2hC!%ZYsH@5rlg#RJH9`7*@$W2+=#kMU=}E8Y+J{r z(Z0{gndwD(-|N694s+(nqoTIO$Hxa%xlNnPW_z8d>fyK%j}bV=tt`TkZm9rpy|7+Oo8hryFkuK_36$(`7`TUBL9Y)%+AiPB=*I0 zkNsmunV3{pSN|n9&XwFSk2On8&{&qP1YL6`>%*oUT`Q=G@kz7)IW#izPso}r+1SZO zf{uoqy;xPXqUes)s6BhJ!xOM~{KjQVb`h%W@@roJm*!U+Qd3gyAxX2hw|`?69OuYS z%+Jq9rv6-$iX5a=5ht1}!ot2lmQmBAN1;(sG{S~ijZf9UdPnwZJ7Zcw_b1m1fEDPf zxc9vI_8DdB-n|cQ-?q-q&K4zydub|l2+^$x3D=*!blqlhAz{kO^4!Xhv2LTZ6M*%& zN2~l=e))=E3yR^3QXu!|*Ax^KG(CNa@Iz*Rq*&0B>v7<~fk0ifMMpcaC>`kJwpaX0VYy_#t6d*a|h&uN_t00i!iY9<4UF^7;osgwZu_;P(K8x%RV z78U0|085NdgV6D%3&5inuc|963*1x0*AT?!CY$t$jCo=e6cprtVnp-go6YA&*7<|G zgl3Xf<`Zd=(I}Pp&8$#2msKRLs>t62&JmC$bF|!|6Ld{1bp_WN+fJN1wJS@cuK)<{ zEuJL3=m?{k79E|PH*0IJoH#)@YIoG$HEXH?SAIIX`lD&d^~D=AJTpP@m&e^!Cx7$} zr5@x8&7wz_-XN4r%`I_Qf95lgK-gfeZEI_5YH0YiwUvo%fwZ}5j*H6`osO`V7yV6U zX6CG$u4Ba6+RuX0YwnlZ8Xa3bug1>O^#GxG1gBt({A-f!D|vzTbAM^|$LG?_w&t)bX&JV{qw+%@0$ zlu62WX%QMr{vMSklb;DHN8fhwZskrgTYr*}RDRROnOvFhqe_!-aP`OXoh_&4y(m~b zdsUH1Y`gW=7#q=*+3kJ}+Q*w0gzO5}y$-&zKi?*$!MJdS$84mRZ`sxH4K_dh60=zM b#vGh^9;c3v@k`bJdk*jUOFZ-Dg?{l5e2i^2 literal 0 HcmV?d00001 From 06285c11c7a0711219066e276a2090a38f557cf8 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 4 Mar 2017 04:21:43 +0800 Subject: [PATCH 2/5] swap zone position for opponent swap position of opponent exile zone and opponent library zone, since a lot of codes use reveal for library, and hand, it's much easier to target the exile . Also cards that display from the top of library is not blocked anymore. --- projects/mtg/src/CardSelector.cpp | 2 +- projects/mtg/src/GuiAvatars.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/projects/mtg/src/CardSelector.cpp b/projects/mtg/src/CardSelector.cpp index 79693f1b0..ed939f91d 100644 --- a/projects/mtg/src/CardSelector.cpp +++ b/projects/mtg/src/CardSelector.cpp @@ -343,7 +343,7 @@ void CardSelector::Render() //card->DrawCard(bigpos, mDrawMode); if(timer > 0) { - float modx = 14.f; + float modx = 0.f; Pos npos = Pos(bigpos.x+modx,bigpos.y-4.f,bigpos.zoom-(bigpos.zoom/5),bigpos.t,bigpos.alpha); card->DrawCard(npos, mDrawMode); } diff --git a/projects/mtg/src/GuiAvatars.cpp b/projects/mtg/src/GuiAvatars.cpp index b12d2a8fd..b823e07fa 100644 --- a/projects/mtg/src/GuiAvatars.cpp +++ b/projects/mtg/src/GuiAvatars.cpp @@ -20,17 +20,17 @@ GuiAvatars::GuiAvatars(DuelLayers* duelLayers) : Add(opponent = NEW GuiAvatar(0, 0, false, mpDuelLayers->getRenderedPlayerOpponent(), GuiAvatar::TOP_LEFT, this)); opponent->zoom = 0.9f; //opponentExile - Add(opponentExile = NEW GuiExile(-30 + GuiAvatar::Width * 1.2 - GuiGameZone::Width / 2, 35 + GuiGameZone::Height - 10, - false, mpDuelLayers->getRenderedPlayerOpponent(), this)); + Add(opponentExile = NEW GuiExile(5 + GuiAvatar::Width * 1.4 - GuiGameZone::Width / 2, 5 + GuiGameZone::Height + 5, false, + mpDuelLayers->getRenderedPlayerOpponent(), this)); //opponentGraveyard Add(opponentGraveyard = NEW GuiGraveyard(5 + GuiAvatar::Width * 1.4 - GuiGameZone::Width / 2, 5, false, mpDuelLayers->getRenderedPlayerOpponent(), this)); //opponentHand - Add(opponentHand = NEW GuiOpponentHand(-15 + GuiAvatar::Width * 1.4 - GuiGameZone::Width / 2, 35 + GuiGameZone::Height - 10, false, + Add(opponentHand = NEW GuiOpponentHand(-15 + GuiAvatar::Width * 1.4 - GuiGameZone::Width / 2, 43 + GuiGameZone::Height - 10, false, mpDuelLayers->getRenderedPlayerOpponent(), this)); //opponentLibrary - Add(opponentLibrary = NEW GuiLibrary(5 + GuiAvatar::Width * 1.4 - GuiGameZone::Width / 2, 5 + GuiGameZone::Height + 5, false, - mpDuelLayers->getRenderedPlayerOpponent(), this)); + Add(opponentLibrary = NEW GuiLibrary(-30 + GuiAvatar::Width * 1.2 - GuiGameZone::Width / 2, 43 + GuiGameZone::Height - 10, + false, mpDuelLayers->getRenderedPlayerOpponent(), this)); observer->getCardSelector()->Add(self); observer->getCardSelector()->Add(selfGraveyard); @@ -149,7 +149,7 @@ void GuiAvatars::Render() float h = 54; if (opponent == active) { - r->FillRect(opponent->actX, opponent->actY, 40 * opponent->actZ, h+20 * opponent->actZ, ARGB(200,0,0,0)); + r->FillRect(opponent->actX, opponent->actY, 40 * opponent->actZ, h+25 * opponent->actZ, ARGB(200,0,0,0)); r->FillRect(opponent->actX, opponent->actY, w * opponent->actZ, h * opponent->actZ, ARGB(200,0,0,0)); } else if (self == active) From 8686fef96a6c2bacf9d25829bf813576ec16680b Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 4 Mar 2017 04:23:19 +0800 Subject: [PATCH 3/5] enstacking of card during combat during combat damage, the cards will not move/enstack so we can see what happened to those creatures... --- projects/mtg/src/GuiPlay.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/projects/mtg/src/GuiPlay.cpp b/projects/mtg/src/GuiPlay.cpp index df3ff46e2..1a1c581f8 100644 --- a/projects/mtg/src/GuiPlay.cpp +++ b/projects/mtg/src/GuiPlay.cpp @@ -123,6 +123,8 @@ void GuiPlay::BattleField::reset(float x, float y) } void GuiPlay::BattleField::EnstackAttacker(CardView* card) { + if(card->card->getObserver() && card->card->getObserver()->getCurrentGamePhase() == MTG_PHASE_COMBATDAMAGE) + return; //card->x = CARD_WIDTH + 20 + (currentAttacker * (HORZWIDTH) / (attackers+1)); card->x = x + (CARD_WIDTH/2.5f) + baseX; if (attackers+1 < 8) @@ -138,6 +140,8 @@ void GuiPlay::BattleField::EnstackAttacker(CardView* card) } void GuiPlay::BattleField::EnstackBlocker(CardView* card) { + if(card->card->getObserver() && card->card->getObserver()->getCurrentGamePhase() == MTG_PHASE_COMBATDAMAGE) + return; MTGCardInstance * c = card->card; if (!c) return; From 9512e5c3db35cafce8c2b55949f457c3ce7b415b Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 4 Mar 2017 04:24:10 +0800 Subject: [PATCH 4/5] fix overlapping of phaseinfo/phase bar the opponent cards will stack according to handsize --- projects/mtg/src/GuiHand.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/projects/mtg/src/GuiHand.cpp b/projects/mtg/src/GuiHand.cpp index 950585dd9..deae8f3dc 100644 --- a/projects/mtg/src/GuiHand.cpp +++ b/projects/mtg/src/GuiHand.cpp @@ -86,7 +86,10 @@ void GuiHandOpponent::Render() (*it)->y = 2; (*it)->zoom = 0.3f; (*it)->Render(quad.get()); - x += 18; + if(cards.size() > 12) + x += 240/cards.size(); + else + x += 18; } } From 9c10574e49881cfecc8677300def00554223b2e2 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Sat, 4 Mar 2017 04:24:40 +0800 Subject: [PATCH 5/5] replaced some overlay --- projects/mtg/src/GuiStatic.cpp | 57 ++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 6 deletions(-) diff --git a/projects/mtg/src/GuiStatic.cpp b/projects/mtg/src/GuiStatic.cpp index 8ed202030..9639f3b7f 100644 --- a/projects/mtg/src/GuiStatic.cpp +++ b/projects/mtg/src/GuiStatic.cpp @@ -196,9 +196,12 @@ void GuiGameZone::Render() { //Texture JQuadPtr quad = WResourceManager::Instance()->GetQuad(kGenericCardThumbnailID); + JQuadPtr overlay; float scale = defaultHeight / quad->mHeight; + float scale2 = scale; float modx = 0; float mody = 0; + bool replaced = false; bool showtop = (zone && zone->owner->game->battlefield->nb_cards && zone->owner->game->battlefield->hasAbility(Constants::SHOWFROMTOPLIBRARY))?true:false; bool showopponenttop = (zone && zone->owner->opponent()->game->battlefield->nb_cards && zone->owner->opponent()->game->battlefield->hasAbility(Constants::SHOWOPPONENTTOPLIBRARY))?true:false; @@ -208,6 +211,46 @@ void GuiGameZone::Render() { quad->SetColor(ARGB((int)(actA),255,240,255)); } + + //overlay + JQuadPtr iconcard = WResourceManager::Instance()->RetrieveTempQuad("iconcard.png"); + JQuadPtr iconhand = WResourceManager::Instance()->RetrieveTempQuad("iconhand.png"); + JQuadPtr iconlibrary = WResourceManager::Instance()->RetrieveTempQuad("iconlibrary.png"); + JQuadPtr iconexile = WResourceManager::Instance()->RetrieveTempQuad("iconexile.png"); + + if(iconlibrary && type == GUI_LIBRARY) + { + scale2 = defaultHeight / iconlibrary->mHeight; + modx = -0.f; + mody = -2.f; + iconlibrary->SetColor(ARGB((int)(actA),255,255,255)); + quad = iconlibrary; + } + if(iconhand && type == GUI_OPPONENTHAND) + { + scale2 = defaultHeight / iconhand->mHeight; + modx = -0.f; + mody = -2.f; + iconhand->SetColor(ARGB((int)(actA),255,255,255)); + quad = iconhand; + } + if(iconcard && type == GUI_GRAVEYARD) + { + scale2 = defaultHeight / iconcard->mHeight; + modx = -0.f; + mody = -2.f; + iconcard->SetColor(ARGB((int)(actA),255,255,255)); + quad = iconcard; + } + if(iconexile && type == GUI_EXILE) + { + scale2 = defaultHeight / iconexile->mHeight; + modx = -0.f; + mody = -2.f; + iconexile->SetColor(ARGB((int)(actA),255,255,255)); + quad = iconexile; + } + // if(type == GUI_LIBRARY && zone->nb_cards && !showCards) { @@ -227,7 +270,7 @@ void GuiGameZone::Render() if(kquad) { kquad->SetColor(ARGB((int)(actA),255,255,255)); - scale = defaultHeight / kquad->mHeight; + scale2 = defaultHeight / kquad->mHeight; modx = (35/4)+1; mody = (50/4)+1; quad = kquad; @@ -238,7 +281,7 @@ void GuiGameZone::Render() if(quad) { quad->SetColor(ARGB((int)(actA),255,255,255)); - scale = defaultHeight / quad->mHeight; + scale2 = defaultHeight / quad->mHeight; modx = (35/4)+1; mody = (50/4)+1; } @@ -250,7 +293,9 @@ void GuiGameZone::Render() //render small card quad if(quad) - JRenderer::GetInstance()->RenderQuad(quad.get(), actX+modx, actY+mody, 0.0, scale * actZ, scale * actZ); + JRenderer::GetInstance()->RenderQuad(quad.get(), actX+modx, actY+mody, 0.0, scale2 * actZ, scale2 * actZ); + /*if(overlay) + JRenderer::GetInstance()->RenderQuad(overlay.get(), actX, actY, 0.0, scale2 * actZ, scale2 * actZ);*/ float x0 = actX; if (x0 < SCREEN_WIDTH / 2) @@ -261,7 +306,7 @@ void GuiGameZone::Render() if (mHasFocus) { if(!replaced) - JRenderer::GetInstance()->FillRect(actX, actY, quad->mWidth * scale * actZ, quad->mHeight * scale * actZ, + JRenderer::GetInstance()->FillRect(actX, actY, quad->mWidth * scale2 * actZ, quad->mHeight * scale2 * actZ, ARGB(abs(128 - wave),255,255,255)); } @@ -279,14 +324,14 @@ void GuiGameZone::Render() else if(type == GUI_EXILE) sprintf(buffer, "%i\ne", zone->nb_cards); else*/ - sprintf(buffer, "%i", zone->nb_cards); + sprintf(buffer, "%i", zone->nb_cards); mFont->SetColor(ARGB(mAlpha,0,0,0)); mFont->DrawString(buffer, x0 + 1, actY + 1); if (actA > 120) mAlpha = 255; mFont->SetColor(ARGB(mAlpha,255,255,255)); mFont->DrawString(buffer, x0, actY); - + //show top library - big card display if(type == GUI_LIBRARY && mHasFocus && zone->nb_cards && !showCards && replaced) {