From 4bd664203379c030720abad690766b5059f8d959 Mon Sep 17 00:00:00 2001 From: Ariel Antonitis Date: Wed, 17 Jun 2020 23:13:18 -0400 Subject: [PATCH] Use front sprite palettes for event objects. --- .../object_events/pics/pokemon/marshtomp.png | Bin 7353 -> 6721 bytes .../object_events/pics/pokemon/togetic.png | Bin 4519 -> 4693 bytes graphics/pokemon/togetic/anim_front.png | Bin 6367 -> 6378 bytes graphics/pokemon/togetic/normal.pal | 10 ++++---- include/constants/event_objects.h | 2 +- .../object_event_graphics_info.h | 6 ++--- .../object_event_graphics_info_pointers.h | 2 +- src/event_object_movement.c | 22 ++++++++++++++---- 8 files changed, 28 insertions(+), 14 deletions(-) diff --git a/graphics/object_events/pics/pokemon/marshtomp.png b/graphics/object_events/pics/pokemon/marshtomp.png index 6f3df54953216e9b25c9be15c26e5c3f5abaf121..298a2a413f960cc3d2614fe61cfe15a09ab26423 100644 GIT binary patch delta 6677 zcmV+w8tUb_Il(lLBLWs`ktH90YjPzya;5)c6c&rlb4qffcx?DKxDZ8>)&7aH~zC?IaKrBMr)D(>Zl`6{?g;G|Hk(@#rl2z{%b!! z;`_h69`f%WWL_$KEx*3?`SbqC>-LXd_| z%CA3@KaJ0+xZcOdEVX#}zWm-21^LVNet(Ve&jtERk$?X!{B!lq{&n&5{CP+Dr&|8B zG4Pjv`GaKty7*s-|8(Pj^2dtuUw^PtDu3I~&!6{BfA9X<-K>p@wjV^r@Vh$t9p1Po zdHH^=@!|Y2{_fw$;G@SGH_bV5$Hm7^BV}&=LaOPcnO?fz*PS*?todeol5^g?8evS9)0QYyLTTxd+D`XZ{2(EqtB5?fdg%{;iHc+=FDMoqsg@<@1MM~@+zw?TW$I3Ypl6} z&#v2c+rIlAd!BsCfhJBne)<__-V`oOaqG3)uHSygoe!*kz4Gd_*Pg%r#+!e1?We1M z`}l8kE&X&Yf1T3%{Ex2jYHE%<_E?z&g};S zGTK>}-<-(96`1mwz{)N-Vr1-i1-k9NVl$o7+b+c&LjlUye0Ns;YW~TQ$ zTb~q3)hUra?(}RrOI-DoRSG=e$y-a9QGCZ3y&S}~)!m2fjy_Oe{`f02x@MzF{G?vS zb#jr)WY1MC-+4UEwp-|rey;7evGE<-$qUne&;iqUxWP6TG}g2AT_y$a)7Chv@yco# z1}gWfe}M)LO3lsb);{h2r5FEsE7r>1?Va=1S}Zc$c_UTd$8&qr_p4c#+W*usDt}WO zlXCdjc#yTA-$u(;O|zUC=7Fwq?QHBqFnv>+LW7u(3;%(@TQDz^8$#AFY`eW|zUdQx zYK8Dep$@kNQC*vW72vj^I>EH`EGK$<&R{eKa|gfGvKiZHfd0+-y0MK5`%#ZIJ*d5< z#|3g&>|m;xta#y2h6~)y?0)vW8z(T`@;E@Sp2~nms$b_SC*9ft^VhrI&3LVMU%sQS z)Xq~#7_8k>+2d++4p3lqXAL$7oneT7A}H8Y*JI%JbURn4)YjZ)UlY16P;qx|xF7AC zYz0Uy1HA`zK|PaqE!N^WiWLJIncEoLi1=+#mb*2QA@~`;4y{aXRX&8(ZCYQK|A>t;sGX)=4{Yn z2rn?mDhNCWKK+_h^X0Wi2c73^fV2j!*n^q|o6qRtW!umMutmwoTVebudcMRs9Gb@X(y@2sQ5d=hnk+mU zk*i!}8~<8g=?*QxqGz27L-?35AaKbP^`by&01?8-Lcz!bUQh|z7#4+pI#>kOD!eD| z&bITt57mPTQL|y^VPSw4c?2fD)_LdQ7A8CL@HJzHn)#Bd3c7ciDrls$Drm(W5m<0; zt->WR95D0z8aTNyEXI8;^2|}6!fepF-81fyWIlY|U~CatLv_5@hX71C71#)QOc)sO zaUiSR&=m-`yd{5xsDY1v0`JibKH&5&Myv{x@DzoE@9<#vmU{ZE`09)OhqxSWb|!12 z9xzm!G}Ezl1DP#b<`OPOLScHk4Vt!-$j^anxeGsYs=f{?+VV^|L7XO>{nUFeaeJeU zEne!*UL5CV&laCXqDKc|Z7VAK0qZUXPLu}ALD@yMR0nLP*H)K*IR-z7Rj%ay`>+ak z#&eB9s2OqZtwJB7myr|G%=|W(3*PdG ztx*>lV}8j0$Ow#B;A{yNGdp1Hx)sO39Ay4$s2=bV14HG#GA(9hMVeCZ(skM-H(f6kZ16y{wSV&__%;mKPVZpvux5N1NFJUOTkMeFgKL zGTzn@?}VZcrip991JL(LkUgrPUnNnX*oY(tuKAEj!4F_)DwH}E+FYBZSC@mMja z9ZXDXs9%AL;}s+CDD`5y7_C--0(Iz+(yh+b=`{{XGPJ%R|2x58o*Y*_#SG*6PL%` zTvJMHK_)VPyw%f#?U^=wM0yt*$C%<1tU{5?__cc*6uB@TEIzDLU?N~P;Ic9ojt338 zv_J+5=X7MwprBW>sJo+TFgabuQ?W-`yc2f{4e7z~o`n@*Mz#zP>H|pqEyxVkg>x&= zL{!Fn5k+BEmN-sfFiHs~MvJ6|@QVQFz9-^@MUX&$aHI^rk!JjfS$skTP51TLi~Zza3n3O#0iT)A39rXkjx}NGq&7x ztja=cVk%e#cAhQ41tOXyVja*3ZV!fXCVpXv?%|E>?;c3VC=KM<>O_PGE0P*e`-!gc zQcVEMb_H6O_G=X4=;xsb*wZfmWDUZXjN{OMQR4SR;~21}42J0d8`=bx{~*K+1{(_N z&lYPXsB1h7c@wX(C~OQg7J+zGE<}^Dy2QTPU&JCYR2$!S$!knIHZp%E-Fw6%WYh=f z5o)l({nBrEqzlR^Vc@^vfu4%e>48)fdtMBX9~q-~e zK-jj@Rrjzl)JzWOB2-@5&L%9~jxu5{ffIy<>@D&PTO_ziOy|wm=P$4O}*cy$0@fB&Be0*+j`AlGT|b=Bi&1fD2fE zKc$h)UDhE>vcfB+gruzQB<(m=eVnDU038k@evWHWM&%VGEbC+tQYK#Ka*wwsz4$v^h;+C(I*CQGm!*utLQA`t7* z0#iaw2K1dtnUqEG zlmR08I!LWA)R?HBPh2U^@SQX=^croi( z_o_p_c|K$Qd4btrZA!0`yi~GIu)LsaM^6z%iMTJ~lOoN3xJynDCk3v^im+ZFG4hP zJyDRrlb*h#T^oPMi1TaWfkl%76XhcmD{Y^Qu zgh6J(XrjZILo9?KsAHS7-(mW79)x#0*cznu6Rk*pS#??rJIl8cPuYjgSt*Bf_YJ0! zSlLYuDl*GAK=)weCbl;f6?F$ffzBlGQ*WI7J{OKn0-qI;#@9X_0C(auz8mIRlqnGI z$m)i1gm83nL@ zU@y*pQKULu4=?*K;s8*Kit`mV*4Y}=Z2WZK{4t~Wchnh+_^>dK^wA-Dog%?;kOrF* zamyG@c%;j;^?}H%5CQ?qA1?_0Fp+W~|J<7#olYd0%{J)Dse=@43Y0 zjLQ(DAaOjQ(iVhy;A}mAfYU*cti1*imDCGtw?o27r_69Z0y^IGEL)+l8?pC|m{kXM zYvZ$ZDg`CMu;7G{C)(F3WX>qke0Yw3%5T7p9cgapCJ~QimrXK3X!1zxmT>HC;`~Ki zd&I+fNN+$g!&6K^M-@?447Gf%ZP$_DgZcXsi9z1jWE@EeU@Iv!Dc@m_U{AD4rnnOX zK`b@~VZf@h1dJz<9a@uJa5$2>YLn%|YeKd9>J8)xU6=@-6^bfBi4Z{uz>c=6rN1%Z_(Vp+AnNbuv zhXEqeV~>}fijWTDIGyORJ4&EX0n~gpr5dE9Fl%_vp+|}FJB6n^&0PO#1!s%fVF3vP zVBcXlX`pfSOxl2^GXad`V_O+xg(I4+ro%5PFHHyxS8A`gxM1)}o{HxVtNd5wW4F7Y=f zuEQ8w13lFw=qc;`p3cg7!BW`e(E*2q6W=g(3bioK5StfvuVvx*X+Lq0_UaLDJ2hV@ ztB;0Zi4L(IoIeh<=Ky3QqVYmLhnVK=oI(5=B zuc3eYgWjRRm6Qy)Av`^WD>x036Do>h>r!V45nCm;4vgi}BN9E}nGUD0O|qRb6=oc5 z5GU8~9}5_`H#6nz8IBve)sh}6AZbXKcdQX~%se%n>~)>3c{^QyuZCV{q)j2v^zL;h`Ghm{6A^gL{{g;>9Tt_m)M<`?juAS%-PRI+_tl7NRd8o} z;Z8RC6h(8<$t$eizDFfGFqG_)+DCg8wJq48Q$Mxz(7 zm~C0X`Q2ozA0#Y2hsWguP-Y+-Db{r+F@OH0L#r}a0o(t`Jy0eg1E#)G>nw$4^l;O# z9eS>c7*llGhD1I0B82EcEczZLf8rxsxglCb%BLqHM1o&iA6H;xs4!P}j(6~I;XeS` zYc8SRF=A+c0004oX+uL$Nkc;*aB^>EX>4Tx0C=2zkv&MmP!xqvTeTt;K|6>zWT=8* zL8^$OR-p(LLaorMgUL((ph-iL;^HW{799LptU9+0Yt2!cN#PL58BE>hxsNufoI z7as59yn7Ds-3R#VWu}@P6M(8&Mk)~(GTBuj_=+xn^uvcS#3W|wbE24pXMNpMC)Hh) zXLS6a(osRJ{gq}N(nG?f`>Nx@1U>6rknL=YjV# z`lc)}a0~RTxpQltIMp#T5? zFi=cXMKPpO-roPk#qO-E)q{ha|D;m(dpXTwAf$U*|NsB2?(US;)oQ)HVw9X(T5}K( z5S3kV6_c(SEq@XMFDr?4jKcr`0gp*UK~y-)?bESt!Y~j3P)`+;{R5qttM->VSq!bZ zm8C6A{1*!>PLLRwVkhd-CAJYu7VPvcu|v!kFyQ6n%e%<&T?o0a`?`TeuM<_WYujt+ zsuVJnKqq5`KBfhP%W-RW*i8sr~`gzJCj~tNRL5cF^opUX7p)k=FW* zPzzmW2uxlgq(!cTx!;6n8vzn}dMT$P$fk4dv4spFew3R36xauZ z&`Rz0C+SDfnARDHHNqVF?dIR-947=IjFoZHVH{wiBoi#AynU zH0PZ*q<^!8J(b2{G$lZbEw$F;M>VDB#*($(;4+b0YjiiqVcMC83>hbEYx=>rVY~@D frhnSi-j28b5uKNpbp@Je00000NkvXXu0mjfNlwz# delta 7314 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 FV1l8RxsU(= delta 4395 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 diff --git a/graphics/pokemon/togetic/anim_front.png b/graphics/pokemon/togetic/anim_front.png index ce187e23bcdffd5e120fdfe5e204e7372f2098f3..06f92d6fe64ab75fa868e1274faeda37f5ed2c2f 100644 GIT binary patch delta 5357 zcmVqc@U7 z|Kk*M1ndDE2dmlKppQS#k*rNBwbW+QN@bDBI|zpO-r0*X{bYm-gc~*}L@ji|B9n z^8?wa(k{Fz#duOk{{5T3R*=4a2fvknLo&TCrFTEL_eA)tgo6CCy>GYP|6HJ7iu|o+ z?vK^~e(w*(kALIyc=|&v>$eNl-#-z`?~DIR{L=@g&ppS(zdR8~h=1D7=l9;-?mb_- z8@W=^`azU;->Rec@WM&S(|cRx$M`MWxA)WeX@2-cbGBc8^0Pt@k*-`9a@b*n8_v63 zVX?#zq^T{y#eBXx*Rt z_J5nMZRy;49s8O>)zl}Z?~K#HQ5!d{8(90`f9czgTkh2pW4~so%bfL= z7AB8+?`zfXldY!)<}O_;^VG#F_ZW@Jj(hfqyWSjTqVwP?@myLn?_s=@J*I^K@5nmG z5t5*i?bvKNu{XB8Gl)!hoxM+4VY1eGPWF1g*NS{NxS+fN-cr3ItuEP^&2n6si+{1u z5_#=tD^S!)yP2C*2LM3EuFv3QlsaoTwy4rfbx-T7SejoSWemgW z28nl;WKdqCnOh)9Qx*3DiJuJ&g35wyGUjI(JX13e83{gOqi3hgRI{EP&K>@ySa-H{ zZ}jKZFpci}wI$FCm(_!=W&Loi6J-LnW1IQTTX#xp?R+!qNN4c^d_t;F#35ibD;R<# z<^fW0!^%MBP7Q0TYu=MCTVn#ub{{*P(k>s9Jq0QOf0JkhaRCRD+65*A3!v_IlLQ7M zFP>bfK(h0CQs)K25Cj*t0Yk&{8?oskO?^riL&Ev6P84oE40p;nN1hPSp4GU|lU4>e ze~)1BF8f=_?v?hl;Fjr82CU_7>b==5T~j@nzq1*Md*C>zdI}eF8>7%CF^Cqi{hnOU zL4$C!$qb8Hk$}T>ct2`b1gJDv?o)t1K;0gY@!^K5g;ou)ui!4E5sPO!nGVQ<^0fhQ zbKT%N7mQzLFfrkj{P}JsQ!LKpwY`A}AzGe#a1C*`quuOk?0uCmk~Q|W>9G|W3MFq~ zb|a9Cox77R2Qq(^*N|?QWuBNBQ~CoVk11}4Y$9ZR(JMX&;+|VdM--`u=PqCiL8$aF z!6dXOt*hT2$H1^p-xa2To@s@rYdrSaeWZYMM!ho0v z?pfm-x=V`zYtS&{8hFDP8_d&)fgM6Dc;_h$B*o_KOj|_HnXPkUyaZjWrP4XBHlQU4 zLs@sgx$l22+TT%P9O|2B%tb$e!mFj=5&y%iG^9hoD_DU9jgUM9W0N9Mb0`{Fn^DN!1t&J_ zVd+!b26mKJR^qOORI!VTtzi=hUD{%D3=tB2kEnkGLA!-djjRGm2eQ7a$Rahi3cTr; zMoq!B5xCtL&c488Roj6t&DZh+_a9Q@gEt5lReW-fqE z$TELSGD)BLW1m|}{`nrF@2|J+`vYXvA`LweZbyIdcx-r`F7Wcux}+f(x-vM7GWZs0 zrwDS_&4~orN50^Tc3_(-*&i6;E9;`>!uV#u3hW~5<6%sagegApH(q+LgZvaORN+S7 z(Q?SKQ0U7T(bLi~oG6)>tgb`zD>~E;j0Asnr8WBGA<#e`YrA#8LS|8hqfICjR+r&w z;Qu}aE<;vVz=k3VM9n&()d`8RKTCy94>|vW7r|Qi3d7u6-}8t!6DEqldob|Kjp3m# zCL4%S1*E%e2>r;G(KuW!Q6l1wB7{~leZqu=i~gHMUR+a`Tugbg9kEa{n_(0BpaOru z%}hWdSm@~(O4OK-q|pYmxB&;l*0RI z$?Y9^Vx*61(bY16Pnu0-lgRG+N!qt2OyhA7NMhB<)sX`dWkoesXI%s}(prC!uQUQx zX3^(n2%RO8VFqkZxQPNk6hjt(P`8Ik#n~BauqP`d9C*<36dy1x)HqzmL!!?zD%pE& zpA#mvVK|@@UdysK*2=v+Ks4WoRxbrt(6QP(pRX=qOmG|jAVIr-7P0?Z7aB6#P+sE) z3JB)SVLOVL0PhVgOJ!+7U!H%^nESJ9n2uiiRIXQ|tBeg%@+jBh{s-9&Z(e1O;Rl4D z7=iUc9x?r>fsgeh2mpOY#<{Gp&^+x&S1-E0iwY>hiDSL z7zB_YCxQ%mAdSOs63UWpkIB89p&1X&Rxb($&z%ZLo1(G-6dZRMf3k}s@E zJUs0Z-%QpO4J=oC0+5EZK~(|QhstR2Gb*6tT<<+{!E)rxhf#tym2&om3D6i)Km3d> z!LgN6;Y)Z3d={k?1wd#4XjW)u4hbJ5EL~^Cw@RV;(Ad#nzqPIFaq*7Q!6fukCOaxM zhxAl!ePGz*-{Mh~akYOS<7B2f^l>OoXvCj*W%}`XvUh!irhZxu4CcjL;#xF#;HE=N zN5a8{kVPHCEQzwk?4LZ3qnL-U#XeXWxW_`nGsGKkgNp3ftv#XpbC}{o%4RDERW5~X zudkp{_T}wpn;airAED)<;}yu#iz!%Pq1XtQ)E=%PLXaVFP^fOEWuuVE4CnPk|(PSiG zeA)dd3xK^tV9_tn8~VihF&P)aqT34;=nQb-nPQvocoVfm)Y5}2I?g&Dc!z9ez%zJe z5PCW;8yYkaIjVm|R3k{WOmwK)Q_s?#Mb4sY9DhYRpg z_oHpuky>?V$o}z`;9^AeE}>&UFkB%PtHg7}bXqWleaNliAMiq_p|mg%T25B9r3T%=n*>O}OKO7_Ox|AS zhn8H!CJ!8aRDhB1>#~*F@q$_sUr=KAz=3y zwM+xDVqnXrqaL&c7w_*oCrt$X6Y&j(2j(rzanXT{5#JSz+?$+=kA!3I?Dz*b;^ldq zs7?b+wjAGtL}cV&Uu;maQxs81{4fWMUd&;qiMajXM&+O`lO=H=waVTS{2t<&Ehe7e z2tR+w@8YN-e2EjRiHBInCC^6iqS5>?56G#=*C{LUH~lqTkJ*W(m(kyNsb!9+P&~|m z5N{oV(qC2!T57O2&o40KuTk@CV))Z^bqh zu1tqedo`Vj6HGPwSS{3u?ke3yUIp%t@qS}@spK^GT6-VCZ8cAV!McB@1Z z7Guh&E_{VO^pXF{!Z)VLhyWU>3S)u=0lLUgD7yh8s*UQ*Np^08SB!+Hm|26olg{fq z5`~b{KouLC&*$P$;c+yJamQ6cPE)#8kjks`+V+l(Vn?V+IHVW+Jq%0iy!tW%Q{jIG z+su9EDefV<&UrAgG@j~%Bpnt`JPB&ZFQ$dpPK{*0?@(ah*q$?Y@uDaGxgWqZ8y+2F z0QuMJ1t~%Sl(w%{0Q4B>^#m$g#BM>0kU-kgyMlU2W(nVh2QZq#`&s2Y7@dotjF4Fg z&LFcmZ4|$q#jg?X%4k7YLn;!m>|}p0mIIa;TcQL?6KNx9qF<&L?j!2UyAg9y9>`yr zPl8OGS}WvOqN9W(abY;?$RuK)AuKM+G8hV6i7HPphW*|jFISc-%{qZH;~dD+zFJXc)ZFZEYAq$L{Aoq4o#X*7uBCwwB!O`S^r2!dC3;#Bxl*CuVezBIs_68x}Tq06LS zeSe2JS89?JRekBQFvgyI%zj7L(flb=?1{EJFO&uyJmbo6c_|O37CuJZL2<;janZ@`2Noi~dAd6N)LP*G)c)VE>Ov$8lgJcERYIf_Yk z(N_u+C0iK1^GWXhZ*P%shTsN6a~(z74823s&^`(B}y}VFIy@eIP`h9M%V_$Z@Lq?E9n)>L% zs$9WWVmq<@kR;|T>06eZ7g*DIo&g4EQ}&sKC(0Z^j?Oo!sLl?rjQ7@2{mYD<|5=Sr z>a$PX&xfCg5X4o1YE^!Q=;0I77ZhjV!tqGBFnho-M@LYf!`Oc!+l=xV6&u~?YYkq3 z3dZYCgb3`iPb8C)bX=;#aj&mAxX_+%zi&U0t*ozCOV2k zg*4s&0oRg{ErthARCNFV0fdu36c~R%9K~Nhv_&d{b`WvMP@OD@ia2T&iclfc3avVr zT>1q~8j=(jN5Qq=;KyRs!Nplu2UkH5`~Y!sbW(JY691PJTEuv8+>dwn9(V5mf1|=w zGdK>Ynq{Pu2_c(X6+*A*Mn3`wA}ldepA*FtJjd5Pe0;r&^DOUke~w-yZ!&+tClJpv z-LQx^h^IF#o%23%l$9if_?&pmpbHW|a$R=$jdRgqKhKOBne;qylvpTsu-w6{WT?bb z#4$zHDBquTS>e3JS*_Gq>z@3Dk-WCD%ypW>NMaF75FtQD4P{hdAx^7CiitGsCp`Q^ zj$b5~Os+B*ITlcb3d!+<|G|InZq35vgqsve09`M({V@WBc7bNyw!e>UyLkcxo`EZ^ z?XNa~nNQN|Z7p^L^lbwd*KJMS11@)f!6#iZBu5I+^cM=i`x$*x4j8xvde+?DTKhPC z05a57>IOJC1V)RLz3%buaA$A-o@w>>1Ix>DWG$11kN^MxFi=cXMT0ZNi{|F;&CSiM zti6MSl%TNK5D*YxsNm@6_$V+~ivR%FP*}780BVEY04c@)|Np~;s05P;7A*)80}BD7 Lh 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 T7A*)25i1Dc*aa}NNEV_3?bIw= diff --git a/graphics/pokemon/togetic/normal.pal b/graphics/pokemon/togetic/normal.pal index c07ecff880..114a69dac0 100644 --- a/graphics/pokemon/togetic/normal.pal +++ b/graphics/pokemon/togetic/normal.pal @@ -6,13 +6,13 @@ JASC-PAL 205 205 205 172 172 189 131 131 148 -90 90 115 +160 176 216 16 16 16 -255 0 255 -255 0 255 -255 0 255 +96 168 224 +232 232 248 +40 48 88 139 0 0 -222 115 115 +216 80 88 180 0 0 106 131 222 0 41 197 diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index e6a5534997..83ee23ab82 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -241,7 +241,7 @@ #define OBJ_EVENT_GFX_LUGIA 237 #define OBJ_EVENT_GFX_HOOH 238 #define OBJ_EVENT_GFX_ANIMATED_BALL 239 -#define OBJ_EVENT_GFX_FOLLOWER 240 +#define OBJ_EVENT_GFX_OW_MON 240 #define NUM_OBJ_EVENT_GFX 241 diff --git a/src/data/object_events/object_event_graphics_info.h b/src/data/object_events/object_event_graphics_info.h index 2f22e7dbec..9f25710315 100755 --- a/src/data/object_events/object_event_graphics_info.h +++ b/src/data/object_events/object_event_graphics_info.h @@ -243,9 +243,9 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrenda const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = {0xFFFF, OBJ_EVENT_PAL_TAG_RS_MAY, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RubySapphireMay, gDummySpriteAffineAnimTable}; const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = {0xFFFF, OBJ_EVENT_PAL_TAG_LUGIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Lugia, gDummySpriteAffineAnimTable}; const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = {0xFFFF, OBJ_EVENT_PAL_TAG_HO_OH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_HoOh, gObjectEventPicTable_HoOh, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AnimatedBall = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Following, gObjectEventPicTable_AnimatedBall, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Marshtomp = {0xFFFF, OBJ_EVENT_PAL_TAG_MARSHTOMP, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Following, gObjectEventPicTable_Marshtomp, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AnimatedBall = {0xFFFF, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Following, gObjectEventPicTable_AnimatedBall, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Marshtomp = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Following, gObjectEventPicTable_Marshtomp, gDummySpriteAffineAnimTable}; const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Altaria = {0xFFFF, OBJ_EVENT_PAL_TAG_ALTARIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Altaria, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Togetic = {0xFFFF, OBJ_EVENT_PAL_TAG_TOGETIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Following, gObjectEventPicTable_Togetic, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Togetic = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Following, gObjectEventPicTable_Togetic, gDummySpriteAffineAnimTable}; const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Charizard = {0xFFFF, OBJ_EVENT_PAL_TAG_CHARIZARD, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Following, gObjectEventPicTable_Charizard, gDummySpriteAffineAnimTable}; const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Follower = {0xFFFF, OBJ_EVENT_PAL_TAG_CHARIZARD, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Following, gObjectEventPicTable_Togetic, gDummySpriteAffineAnimTable}; diff --git a/src/data/object_events/object_event_graphics_info_pointers.h b/src/data/object_events/object_event_graphics_info_pointers.h index 289b899a61..fc2b2074d1 100755 --- a/src/data/object_events/object_event_graphics_info_pointers.h +++ b/src/data/object_events/object_event_graphics_info_pointers.h @@ -495,7 +495,7 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM [OBJ_EVENT_GFX_LUGIA] = &gObjectEventGraphicsInfo_Lugia, [OBJ_EVENT_GFX_HOOH] = &gObjectEventGraphicsInfo_HoOh, [OBJ_EVENT_GFX_ANIMATED_BALL] = &gObjectEventGraphicsInfo_AnimatedBall, - [OBJ_EVENT_GFX_FOLLOWER] = &gObjectEventGraphicsInfo_Follower, + [OBJ_EVENT_GFX_OW_MON] = &gObjectEventGraphicsInfo_Follower, }; const struct ObjectEventGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = { diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 025cfdf66b..38ca4af780 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -3,6 +3,7 @@ #include "battle_pyramid.h" #include "berry.h" #include "decoration.h" +#include "decompress.h" #include "event_data.h" #include "event_object_movement.h" #include "event_scripts.h" @@ -17,6 +18,7 @@ #include "metatile_behavior.h" #include "overworld.h" #include "palette.h" +#include "data.h" #include "pokemon.h" #include "random.h" #include "script.h" @@ -450,6 +452,7 @@ const u8 gInitialMovementTypeFacingDirections[] = { #define OBJ_EVENT_PAL_TAG_TOGETIC 0x1126 #define OBJ_EVENT_PAL_TAG_CHARIZARD 0x1127 #define OBJ_EVENT_PAL_TAG_NONE 0x11FF +#define OBJ_EVENT_PAL_TAG_DYNAMIC 0x1124 #include "data/object_events/object_event_graphics_info_pointers.h" #include "data/field_effects/field_effect_object_template_pointers.h" @@ -1599,7 +1602,7 @@ u8 SpawnFollowingPokemon(void) { // Spawn a following pokemon TODO: Avoid this o template.localId = OBJ_EVENT_ID_FOLLOWER; if (GetFirstLiveMon() == NULL) // fainted party, don't spawn a follower return 0xFF; - template.graphicsId = OBJ_EVENT_GFX_FOLLOWER; + template.graphicsId = OBJ_EVENT_GFX_OW_MON; template.x = gSaveBlock1Ptr->pos.x; template.y = gSaveBlock1Ptr->pos.y; template.elevation = 3; @@ -1641,11 +1644,22 @@ static const struct ObjectEventGraphicsInfo * SpeciesToGraphicsInfo(u16 species) } } -// Set graphics & sprite for a follower object event by species TODO: Refactoring +// Set graphics & sprite for a follower object event by species static void FollowerSetGraphics(struct ObjectEvent *objectEvent, u16 species) { - objectEvent->graphicsId = OBJ_EVENT_GFX_FOLLOWER; + const struct ObjectEventGraphicsInfo *graphicsInfo = SpeciesToGraphicsInfo(species); + objectEvent->graphicsId = OBJ_EVENT_GFX_OW_MON; ObjectEventSetGraphics(objectEvent, SpeciesToGraphicsInfo(species)); - objectEvent->graphicsId = OBJ_EVENT_GFX_FOLLOWER; + objectEvent->graphicsId = OBJ_EVENT_GFX_OW_MON; + if (graphicsInfo->paletteTag1 == OBJ_EVENT_PAL_TAG_DYNAMIC) { // Use palette from species palette table + struct Sprite *sprite = &gSprites[objectEvent->spriteId]; + const struct CompressedSpritePalette *spritePalette = &gMonPaletteTable[species]; + // Free palette if otherwise unused + sprite->inUse = FALSE; + FieldEffectFreePaletteIfUnused(sprite->oam.paletteNum); + sprite->inUse = TRUE; + LoadCompressedSpritePalette(spritePalette); + sprite->oam.paletteNum = IndexOfSpritePaletteTag(spritePalette->tag); // Tag is always present + } } void UpdateFollowingPokemon(void) { // Update following pokemon if any