From 2921a338e2c9674e7126f01ca02509e80529ae43 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Thu, 4 Dec 2014 15:03:58 -0600 Subject: [PATCH] modified: scroll.exe modified: src/scroll.c --- scroll.exe | Bin 48444 -> 48791 bytes src/scroll.c | 98 +++++++++++++++++++++++++++++++-------------------- 2 files changed, 60 insertions(+), 38 deletions(-) diff --git a/scroll.exe b/scroll.exe index 5f3c50043b0eb572aaef093ceda6f0bd5a0927f6..c699cd91c0da7db6dbce23b0f38bc52f734eeffd 100644 GIT binary patch delta 15501 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 YGwi@o?RI$Kp@nTf9Gb%MX}JjfFQ}wAd;kCd delta 15228 zcmbt*30zah_W#@^A#5Q)2w_XYBC9A^r7DWx5;s%|h-j6_7NN2=38<|SEVUW~Rvl{> zH#Ti+YpbF@T_j4ern^9 zWpjXKy5h)Y)OHTlSFN`gTmPI2{Nm{u_P$WS>KRezwxg>w7k#K;BBpRj8+1K zRNA?-R((cQt3Df6uRdl{?=q`*)gP+pvs|$WpR)>A*o5oV=S=GT)^?LTFTPZ2Qn*B*Rxj9f!ufCDirb20La=4OF+F>~|D~wV>ZMVcM z^Agm4$D6Bq%@bM6i@q=&X>Agec3gt?@n%J!;NmTK%KQZvzcg3(nkTWQJC@^8yA(+N zmsC}c*}$4knR+anrRJPo^JLbN?oDP{q+E5;RfUWOB^v`)Pd%3a&3fD(Fk_ z5*%jGQ3jc_dWi`xh>!4y5FO5x=(QYowhioQFR0n4zTdsIPbd>~^`ezYGQl~t;!pG| zvFTSr^@F<+6wK{cFzvq-wCPtX^b+uYreyqk{W`{qZ5n;&Y13#o(WqN%H+!R05DR8) z^b*AKD9tRE3XHW~60-uV-woF9F=w(iALx+%&RxK5sJr}$x0L$WI<4{~_OSXJxEnF5 zGKiWNEbT)muIr55ywx^qM%wIK{TKF~Vz)1TDDXG_tttN>mgMY~{K?H`$)zHjCCf#& zA?%PiEGY&{{)}qDl1w!*BvHgTz|)FsmMo%{g!}($$RU4iNQa8)ZZ?HH>H4Y|?V*69`xGTweerXkD30Ak3LwkgOmnvh(VZJ`S73sqR#?y>U0 z=Kh5WfGANRrwf%#qf4c8qa0sy3i|)DB5SvzpR3J^FFM(*xX#I@{~58vibA<{J<0`} zVLe*a5P%+nWbEPWXZ&B+p7bx*o`cKy0 zAx~SUC)~kg{h^-NsmPD6JuqGlp}4M7*0m=@wzVg$4YQievG)GlWc!?hjOG0yYQbNH zs6UHN5JKZWw?)t-YvAm$BnWI4i-ir0ZVg>-Hj8cR6NAO>!n%`_b!Yb*qa45qQr0WjuuLiRewBxy)zHD~o z@tnT(%yKU?lq{J6j7Qrd$ttD$IJ4*6!N9`la^drTMSCGTn(r_!@~C3 zw}fvS59JS`408izVcRq)A0uV51Gc3@>8*fTBPmJ+Z4f;y4OXU1&{hVejnGlFm z&b+ygx0BSz@*9@9MKV|MIJZY5xB6xGr=1c6>1K!eA%ognkj3P0&iTnSnQapx%L=^R zErOZdde%+GunBT}T^xiTxR)`n<7;9SUMtREMgX;neOpFZ&v-n=$nb9-FEA4^maJy) zN%1u=86M`D=Govxl{wAQ6wI>H%1QMK!e>3pm}~e8FJGMMwVp`;DmF}NR*O4tbl!k0 zuv;|JYns=5uQIRN>RxV18aPbnts#A{s#=G7k7L-EZsQ7Rwp7KL)V+-%aKC5GF~2+> zhObI*IT6N>jUlaPeb%tvBcbqB<7l{l(>Mn1HyV>#bLGEq-pQ0Po-!s{H+CKHR3lnTl1+8GJ>NF24z;>9wpB zL;77?{VS@3QT3*^eZ}C3$}C?2OPJokd{|rk(9RU$eaa+8g?p4yaQ9bTVw&)esxeF? z9vUnUXb_=p-?cfv#`S?BB4#bzXlc#r2Amf>a?%veteD2de-eLkRC}ehfs%b8r-{{L693V5FnQ!vzXS$*Mn6Ol?a)09+D2=L7Mjn z@d=*7HBaL@)V;p&nsP50oyqA9uZehmYoB5YcNn3gUn}vXkR;CrkqcB?qkd>t6mJR{ z6|Hi%BzrVQI>!jZNamOf4%QeArEpt`uSp7Z78zu1(fB_h^O<0r8Jf?;;kM9N-`Oxz z_blg}!AWbYf1)!54xf#G4SkeZiid~wP>EkHCXq>fA4WqZekBr#gDxpjx%N>v^xjc7 z{&P7|xR6^Ss=JUVOyvwryLevPI2;!q!aRdB!Z*VGoAANRM(iCi(wNRwjWs8vajSX_ z(r*9wla7Vdq5f5fx<4}|q;uwknZU0MssZa6#+&Y0G#;?iOg*c9h`Nt-2-9J9yFWLl zx|pDyQNQRs>aLjXf>g4H=`_T#;6!mcw?tqz@ZCpDKz9EOykIYA;ow;{em`QHu}QG* z)X{@3kXh8+>IpX~7INWrig_G!%ZjY)G+hNWk278A{LcC>ye27!LzQFAViwh%j5;;y zeVr@h$88xAb?;l|y49UDUF^JN{a48yeb@)pvpLg6raioI9=GmfRQrKx=Y#96uj@Fm z60IFMqwgU4b+78~TlJNFM?jg=;pQaJ!IbnAC?Z_W8Mu_YEs-a8??t<39f&(09Nsja z3ttny04t&rjnzb^hO;(ox<%?=S$Enrq=+*?BZm*VobVDv{jwL`-CdjX1n4YpQ${sE z!PSXNxaKl=RB+8Yco?|&f43>3nyY|b%C+?&ORlHI*)xr{_iKF;LhDW+mY_CK73#9sGy6d5`QWs+ChQqKm05uwkIrBc@!Qcu zhh=g{`VhRvSIzyG}h!H=TBrFLdpDn30|Z=9z6yXuy(~L}%h1l|JAF zI5TGYAWt__LW6T6*jn#wp6HSY_Fp2-nfG|RS<3u4>hzK;-CLT|@tK%#W;^bV8O+?l z^1&9tQ8Sqo-H8(#~?CK6j|2b8$-i}G&!5@Q5T1;;sk7=cPup$Q%CnJ8K!p2l0MUE z(`8Gh*mU9X_KbA1q6H6&dxdGm=i{c!dthI!nI%+pe`h*psTFr+_knA_VcCV_;C10;g2$%xOI3TvlIJ`NQaeMGU5{R3Z9stW)#?* z;IEu8!gSHpW4dqo&CPV0j@G@V!0EoJrzX{jw_L<$62e-05{9tMOspLBc*sny`=n_J z+kGOVHfbh@405w#CTG@onVp!+0v06-v+>qZ2~JJC-pMR$!v7i-Bx>Q20rHb<{BTr& zAe&26WMjqXC}?lW=<%SCd33VpTh5JdI(G=0c%-syIBVg1@YT^XV!FRSAru__o;N*Q zb8h7Wp+GOI8OK%%YTJd~J)^Smp62h@bi!geDilBs%gP5{ z_?5%}#tR=xoCB^T97NoHXBz;uq#W?##g+osO$TQn^&CxBFMrS#~t+{y=AaaU3Rv@95> z8VtU-gf}I?gEw8a<`!*k$nx#Crn6u=zat##KH27vj&R8^%a4syfD#qsh6oC{4q*Xq z9v1_-#K+@2S;1@0?QOg9*C}5y4fy@>%1N(s_l`fy)reo^_}b+{RO#9w+~tfA^ze8) z>A?RhaI6$UNxm|5Kv$8CphG2V5}20r9g}#3Oi3+x$OJ!O3tM-^@&TSP!Pog&F6v7B zd&FZ)Cn&@(-cB*y?Y=hZf$rYQ2k*DOJfTIvT6jEe>NCd8Q=?`spFVl|^661CfB!FS z1}SfJ;L_CJ^GRt>>ggGIsrLGL10)Wl_Sd)K(o}lXS9{wl&2-6htz)tbG{?!)GTBp8 zS~pMofdQ3TSEp97Zu=qQ|9(w-T;JN&2eI?4Q8QY2ldOfG*UkyEIWUsxbfPei(vPeP7kG>OQsZ7&Qv_<>#e+j< zncAtUUZktqUzqAxIA>$dC0i!+B|?3Di0NOQH&=aPP(low4SV(lp82TeqhyoRbU6py zKmKI*Cr3%d0}f8h3=5pkak`kA2Wgf3esQ-`&4Un~bienSi^L3{;`NzY_8yDxWo8RM zC2n>aXU(oB$k(%PkVi+>1m+-ioimELjwj7groML3tbS+@tdM)X{V{}Ad=WbR&h#TF zWMaCnWu%W4pcN3i>GXfeT@TPgw9K!+LT z!~y5HlO4j_JRX#tBHHiFKu!mRvg{;gKi-o)m4(8+?6VM)PRzXx_c!OwXZZ`*h6{!-K#0eU zIo|k{T!~;Llq96&Qv?k`y5#sx0gjGvBzN5qVkyoFdx6Gp9Q4E9dH-;VRx=2}7V|}3 zW_VErV#kE6Az~L9hI45WFsPy=cUhqhah#Xn2HA({`ZNSGf%$dy@At}8%Q07Pek za*QZ}DabYCA~r7MH{d5QONt8&MTi|1!T~#hDJm>pRAfNxa9i0}ky}z|fHv6#S^-+j zD>jtoR%i?eQaAJoQKiCA3d7p4kn})-C!zEdX;8vUg03l+Us0(Cc#5Jz6&98uZo@I77&@YQTCriE>J-2-2ZE0Pm`MaB3>j+lA)=g1zjAY+ zoWK~0OA4phrqMpF1e;@>X_#63LSb~w0@@B~B3cZ4!hc(a)PWfr7IFrER~VE0K1fmp zVe&zbB2r1h*zTm27f35GRg@nW5)H)!I%3jB9FOnh1sV&MW)|rR^*}I42oPGzj^(wpfq0*Nl+$Jc@fjNf z6QL~zvY0!^X^Vg`aK{LyCvu!I4iwSu1v-N%$q=}oQzJ|8$iT3>74-U zCUQ>S5;9U~gcT|J&{^vY(hEfIiL@dhibU^-fExtleNncvHV_Dbb1DQ*Z3K|>oKFyP zI*=A;R~I@b#W2;^s!L&=Xr}?*>--ytAZ-@VS6zA`PCyX(2ny6aXyC{#DJjpNfsYlr z@qVsPx#ACthU639(Vhpf7+1Y3Z5LdlvIJKD1|8v%Rt%sx4L?#6eu~SA4Ku*~91-X# z*Bfpm0-dvZ-39}*nE0KR41JyJB{#gFcuaf_6l895+_VdT2zHwVu~Dl7(%|;7oAyZ{ zo^^X0Fw))6P=fIHez7X|hFht-t?4SzsES!kT;v>6uGQ)biH_Aw8Ho|vpP^mYTW=S{^E?msmZT2vQfY7Kvyz5hLD~;!5Z4my$s57bGJ+2h5#q z0Fg%8Vlv3>k__{7Sf#%~qGa_NXiYl~ge;OkPi+zq-%Dhk);_M&KEO{st^0SyL|yKZ z3FRe@$rFzByz$4b=@1Q|I*u=uO9zZqdkvbK>UqTzKPU|f`T`1O&oiFdt3Yh#{d{)$;J5T~{9vE$KKM)hnBZMLl``wRkd%N<#Ntwz7;P4)e#EClhQ}Fd`AXUA zGJMuBf?q9blHoqXVE%R4O&K0q>Ce9-yDY;qDhKm7WnI2_MP(lUqwJerNna_!(}e-!UA!^fr!rI)*>ve7y+xn#|Vet_wb*Dzo8uP4G=2D}D*zc$*P$d;EBEY1UD z3XXp^%=2qyt%@bf=`DyuzbOqWtbH~)xmJ}IY+VCYG+$>H*O7^jf#CR}YHo1T4&*LiYTp53Ur2ih4qqF?T?`T9%(WxAZ$gCl`L((c4@0~{k#-mKJ32HCsE>e} z9eOxadl-mCp$353fvO6v0g9w=J3@Dd;so<{P8{ZoFPZ0X$}mqHUpINg*s#aKARz;* z9ti6UgGm9Og^NXxK$PKGy>++MS+l%{1M;K1w%4`+L%{U(7%qbY-ltjH@|g!r@p=nTll zrT`jI@GBJCVa z;nHHlxE6_LtPAp%ML8IgCuL5|KpZTWb#g|DH?JEkS2?(PqOc~vyr2;3s_>O{aZ(4f zxXdszVJYA{qp;%nkU{PCTIH37iX|F^6ayxeV2C>(g$tiovX`RpbI&US>H9vNV=@-2 zhB`wTw0J!VpL#wZ<%YdQoAM9sW!q@@%mMQS>I{2?G7z6-pRAzuQPJXP`&i4g@IDC5 zI}mG`Z*Zm(O}Jux^rDX);+pb`!ZMAvBzKV>Djkb~;aEMQpqz3Lw{)<*X|3J{y<>;8 zHsDs1rYp+l65=~yER$Hh8wqVFW2Ec%Y;LHtSvc`T+ zLAkX_#D(E?8v^}D47F9#+Hk(fKCm+z2C;L7;_eOM42!)s#xfo_d1Ex=j~8zYW%muk z>o@uZ{Ck*VfbgPFXc(XkKC>|-PzJ{?wk1LBv832gq$$-e0@eI5i$@r<`>l~*sms$X zM*PBlC?hjv!t~Txa}b~R2QYJ18sZE3!F+nk!D|N~Ma3lrh%f3#%F0JRiukI2K%+LM zP0|$QmKBtck0>Qb^ToHq>`G% zhKPTvpOsoMp|rr5T3iNj^*}gnQRz%_?!nLRN6TSRJy8xik|P3J3;?XSj9~E9Yybx9 z4)L0PXi7#=vDN_l!GM)jR$f+|R|*kI-fy2`y$0Z^<7a?v%7^0*H~9rV)8C3_Cgmai zCy2M;noXE_LE%-^Uw!KEiHJKf9LK+)G(J0^UU7LI;NqfP$mmB03{_j9GiVVvVFZ{I)7G-{UDVcQ*;YS!;XYsiG=Tu#{hbA9KQ8R7~3!oJ8ubNP04uZmO(++lO1i5m0hUQm6dDYR0$fq zm5iU<66p7u!wo4D@w@F|an}|V`)x8lw43@ zf+p5RmzLzhmZ5^8J;T-NmzCusZeIp2ZwzG*WZ+GWA)cM~wki$fxzLUbcQmRzhh^Hk z)l3~e198Lfy~aW8v`nmQ3RGDJOw1(pWbkG1DlOu_v(LigO(EX%>@7f!XKh)D*EfZ+ zy4m;;us6=ObpR)mwBN61}{69{oUqBc1;%kp;^uz$->Sp5kt>8+J=eM z*fXk6e~&`YrRnp{EUamX65V5M%B^n+3AhKM)Uil-F38K*YYapIP|y>fZwUyDn`2jA zQ<_H&jQHF38RB<_d82H*K&ig?DN+&P#GMgQ9uB;$aA^f(Ho)n}98gX+Ht!tHelr)J z+8M$2&c)yD^fxYnmrU|q%J%W89Z33diF|K@Py~m?aL!B4kcmQsCMUu0WgsJ8S6)(* zPQMb7(^?0VS_p{;Iazfevnvoe19g-qmM011d`A{`KjPyQD7*M+#ifk;YcnTM3*6zbCaM3nB*4+7mLQi8wAhNZr_;0`z_Gjij223h7e<8s0T=9)P#Fw0;5QLy z7A=n<-B@9;6#YLx@NvV2GznBz7J@%6uu(IGqZlo}X7U2C&^@coU5-nK2+QO>`B5GZPX&d;nPVm=MlDu}o ze?5Y0JqXUmT1a|za4S!7eBr&zFjP=A0*mIwc zuMfBr56LLuJPFscFv~51I68pwlt(jEluMA9EfgUcDEz$-gxvn0)gF7nc09Y$(fa4K zoHUcjK}1EH2*+lB)fgg6vOR>dN$ai|6d~`3)N4olM9U-{LueViO7{P(qZ$h~<=KFA zfrJTu>1BcfKr7jdWO$DCc@1yhu!}5@1k*Yt!MU=BH8j_^nrBl;F zWk~LX=$}oTp~_3?)VP6Fd3GP=aTJN8$N`E3Q6!5ZBsGG)i6Uz#Lee5Qro|ifdn*r9 zg#LjFk^p*uPJb9sm#MC>ctwH9q_26I_;{;aluiqf|6GH@Qd-zJ8$WE7yS_mSB)h(g zVTi$>(K5+?5b}Xb1(!8KkaYX5fWavTy`83~kjDM-lL!3VO_W|kYa~;J&r^hCIj}zw z=ElCzL17=3JH7?a(l-Xk4))~M{-=~09NN;vj)}*By53R~Z`S%890W!+1Q4) persist_aniframe = 1; + if(keyp(72) && !keyp(80) && player.q == 1) player.d = 1; + if(keyp(77) && !keyp(75) && player.q == 1) player.d = 2; + if(keyp(80) && !keyp(72) && player.q == 1) player.d = 3; + if(keyp(75) && !keyp(77) && player.q == 1) player.d = 4; + //if(player.d>0) player.q=1; + + #define INC_PER_FRAME if(player.q&1) persist_aniframe++; if(persist_aniframe>4) persist_aniframe = 1; - if(keyp(77) && !keyp(75)) + if(player.d == 2) { if(bg->tx >= 0 && bg->tx+20 < MAPX && player.tx == bg->tx + 10 && !(player.tx+1 == TRIGGX && player.ty == TRIGGY)) { - for(q=1; q<=(TILEWH/SPEED); q++) + //for(q=1; q<=(TILEWH/SPEED); q++) + if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; //animatePlayer(bg, spri, mask, 1, 1, player.x, player.y, persist_aniframe, q, &ptmp); - animatePlayer(bg, spri, 1, 1, player.x, player.y, persist_aniframe, q, &ptmp); + animatePlayer(bg, spri, 1, 1, player.x, player.y, persist_aniframe, player.q, &ptmp); mapScrollRight(bg, SPEED); mapScrollRight(spri, SPEED); //mapScrollRight(mask, SPEED); modexShowPage(spri->page); - } - player.tx++; + player.q++; + } else { player.q = 1; player.d = 0; player.tx++; } } else if(player.tx < MAPX && !(player.tx+1 == TRIGGX && player.ty == TRIGGY)) { - for(q=1; q<=(TILEWH/SPEED); q++) + //for(q=1; q<=(TILEWH/SPEED); q++) + if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; player.x+=SPEED; //animatePlayer(bg, spri, mask, 1, 0, player.x, player.y, persist_aniframe, q, &ptmp); - animatePlayer(bg, spri, 1, 0, player.x, player.y, persist_aniframe, q, &ptmp); + animatePlayer(bg, spri, 1, 0, player.x, player.y, persist_aniframe, player.q, &ptmp); modexShowPage(spri->page); - } - player.tx++; + player.q++; + } else { player.q = 1; player.d = 0; player.tx++; } } else { @@ -179,33 +193,35 @@ void main() { player.triggery = player.ty; } - if(keyp(75) && !keyp(77)) + if(player.d == 4) { if(bg->tx > 0 && bg->tx+20 <= MAPX && player.tx == bg->tx + 10 && !(player.tx-1 == TRIGGX && player.ty == TRIGGY)) { - for(q=1; q<=(TILEWH/SPEED); q++) + //for(q=1; q<=(TILEWH/SPEED); q++) + if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; //animatePlayer(bg, spri, mask, 3, 1, player.x, player.y, persist_aniframe, q, &ptmp); - animatePlayer(bg, spri, 3, 1, player.x, player.y, persist_aniframe, q, &ptmp); + animatePlayer(bg, spri, 3, 1, player.x, player.y, persist_aniframe, player.q, &ptmp); mapScrollLeft(bg, SPEED); mapScrollLeft(spri, SPEED); //mapScrollLeft(mask, SPEED); modexShowPage(spri->page); - } - player.tx--; + player.q++; + } else { player.q = 1; player.d = 0; player.tx--; } } else if(player.tx > 1 && !(player.tx-1 == TRIGGX && player.ty == TRIGGY)) { - for(q=1; q<=(TILEWH/SPEED); q++) + //for(q=1; q<=(TILEWH/SPEED); q++) + if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; player.x-=SPEED; //animatePlayer(bg, spri, mask, 3, 0, player.x, player.y, persist_aniframe, q, &ptmp); - animatePlayer(bg, spri, 3, 0, player.x, player.y, persist_aniframe, q, &ptmp); + animatePlayer(bg, spri, 3, 0, player.x, player.y, persist_aniframe, player.q, &ptmp); modexShowPage(spri->page); - } - player.tx--; + player.q++; + } else { player.q = 1; player.d = 0; player.tx--; } } else { @@ -217,33 +233,35 @@ void main() { player.triggery = player.ty; } - if(keyp(80) && !keyp(72)) + if(player.d == 3) { if(bg->ty >= 0 && bg->ty+15 < MAPY && player.ty == bg->ty + 8 && !(player.tx == TRIGGX && player.ty+1 == TRIGGY)) { - for(q=1; q<=(TILEWH/SPEED); q++) + //for(q=1; q<=(TILEWH/SPEED); q++) + if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; //animatePlayer(bg, spri, mask, 2, 1, player.x, player.y, persist_aniframe, q, &ptmp); - animatePlayer(bg, spri, 2, 1, player.x, player.y, persist_aniframe, q, &ptmp); + animatePlayer(bg, spri, 2, 1, player.x, player.y, persist_aniframe, player.q, &ptmp); mapScrollDown(bg, SPEED); mapScrollDown(spri, SPEED); //mapScrollDown(mask, SPEED); modexShowPage(spri->page); - } - player.ty++; + player.q++; + } else { player.q = 1; player.d = 0; player.ty++; } } else if(player.ty < MAPY && !(player.tx == TRIGGX && player.ty+1 == TRIGGY)) { - for(q=1; q<=(TILEWH/SPEED); q++) + //for(q=1; q<=(TILEWH/SPEED); q++) + if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; player.y+=SPEED; //animatePlayer(bg, spri, mask, 2, 0, player.x, player.y, persist_aniframe, q, &ptmp); - animatePlayer(bg, spri, 2, 0, player.x, player.y, persist_aniframe, q, &ptmp); + animatePlayer(bg, spri, 2, 0, player.x, player.y, persist_aniframe, player.q, &ptmp); modexShowPage(spri->page); - } - player.ty++; + player.q++; + } else { player.q = 1; player.d = 0; player.ty++; } } else { @@ -255,33 +273,35 @@ void main() { player.triggery = player.ty+1; } - if(keyp(72) && !keyp(80)) + if(player.d == 1) { if(bg->ty > 0 && bg->ty+15 <= MAPY && player.ty == bg->ty + 8 && !(player.tx == TRIGGX && player.ty-1 == TRIGGY)) { - for(q=1; q<=(TILEWH/SPEED); q++) + //for(q=1; q<=(TILEWH/SPEED); q++) + if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; //animatePlayer(bg, spri, mask, 0, 1, player.x, player.y, persist_aniframe, q, &ptmp); - animatePlayer(bg, spri, 0, 1, player.x, player.y, persist_aniframe, q, &ptmp); + animatePlayer(bg, spri, 0, 1, player.x, player.y, persist_aniframe, player.q, &ptmp); mapScrollUp(bg, SPEED); mapScrollUp(spri, SPEED); //mapScrollUp(mask, SPEED); modexShowPage(spri->page); - } - player.ty--; + player.q++; + } else { player.q = 1; player.d = 0; player.ty--; } } else if(player.ty > 1 && !(player.tx == TRIGGX && player.ty-1 == TRIGGY)) { - for(q=1; q<=(TILEWH/SPEED); q++) + //for(q=1; q<=(TILEWH/SPEED); q++) + if(player.q<=(TILEWH/SPEED)) { INC_PER_FRAME; player.y-=SPEED; //animatePlayer(bg, spri, mask, 0, 0, player.x, player.y, persist_aniframe, q, &ptmp); modexShowPage(spri->page); - animatePlayer(bg, spri, 0, 0, player.x, player.y, persist_aniframe, q, &ptmp); - } - player.ty--; + animatePlayer(bg, spri, 0, 0, player.x, player.y, persist_aniframe, player.q, &ptmp); + player.q++; + } else { player.q = 1; player.d = 0; player.ty--; } } else { @@ -319,6 +339,8 @@ void main() { printf("player.ty: %d\n", player.ty); printf("player.triggx: %d\n", player.triggerx); printf("player.triggy: %d\n", player.triggery); + printf("player.q: %d\n", player.q); + printf("player.d: %d\n", player.d); printf("temporary player sprite 0: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=45556867\n"); printf("temporary player sprite 1: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=44606385\n"); printf("\n"); -- 2.39.5