From f4d3a026cdce044118ca9415a29a12984fdef803 Mon Sep 17 00:00:00 2001 From: Robert Lowe Date: Sat, 6 Sep 2014 19:28:54 -0400 Subject: [PATCH] fixed downward scrolling and added upward scrolling --- 16/modex16/scroll.c | 26 +++++++++++++++++++++++++- 16/modex16/scroll.exe | Bin 17854 -> 17934 bytes 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/16/modex16/scroll.c b/16/modex16/scroll.c index de8f8f27..bd086732 100644 --- a/16/modex16/scroll.c +++ b/16/modex16/scroll.c @@ -85,6 +85,12 @@ void main() { modexShowPage(mv.page); } + /* scroll all the way up */ + for(; y>0; y--) { + mapScrollUp(&mv, 1); + modexShowPage(mv.page); + } + /* spin for a time */ for(x=0; x<500; x++) { modexWaitBorder(); @@ -194,6 +200,24 @@ mapScrollLeft(map_view_t *mv, byte offset) { void mapScrollUp(map_view_t *mv, byte offset) { + word x, y; /* coordinate for drawing */ + + /* increment the pixel position and update the page */ + mv->page->dy -= offset; + + /* check to see if this changes the tile */ + if(mv->page->dy == 0 ) { + /* go down one tile */ + mv->ty--; + /* Snap the origin downward */ + mv->page->data -= mv->page->width*4; + mv->page->dy = mv->map->tiles->tileHeight; + + + /* draw the next row */ + y= 0; + mapDrawRow(mv, mv->tx-1 , mv->ty-1, y); + } } @@ -209,7 +233,7 @@ mapScrollDown(map_view_t *mv, byte offset) { /* go down one tile */ mv->ty++; /* Snap the origin downward */ - mv->page->data += SCREEN_WIDTH*4; + mv->page->data += mv->page->width*4; mv->page->dy = mv->map->tiles->tileHeight; diff --git a/16/modex16/scroll.exe b/16/modex16/scroll.exe index 0fe8502109bd104ba0eb29e16aa7b83b69dd2462..26addeed4f6b6b5ac271776b7ca7dbbe4c83509d 100755 GIT binary patch delta 1270 zcmZ8hdrVtZ7(d@_DUX%jQXZwe*0O=H0U3((!6UHMk`0hrCeH!77-OOnrtJvHU?UCD zy9;D^7BxaPBZkFSmgSOg=@!ya!^RR6ltcn#>rm%`7Q=#Lh=l98btby=$M^m6eZTK{ zPR=L~JzbDlR;xj~krFA82T9VWN)&=nvlbyE`sYX#^AQNWqeEz>H&dU{#8$jyt9+UJ z)#*37@{njn-6uE5FzU8!kbAP^EMB4x>OScw6TQt*`Ev|!StMnu?D;E7-m>+hH?t6) z^R($)K*?U>0NI_TI_O*MoNxcvIvlXZs(P=-9oZX5upab(h9|)A29@}hv*$^2_`#09 z{(w{KWLFU9uWzWWsqWZpBvmx9XXW8N^w;wK&VQhe;=U=BjI!YBcJ_1M# zL*zXTXJ*6@MA|j{QHBeqg5Pn49Gd|5E*9-+{8|uetssK%e92runjQQe_Y45Z*J(y468yWr- zH89)@)T1ilk0=jkPjIWm28|7Y8EN4`e1%EaKP#F46AX_B2U3+Y9oJXsFe;~ql~egH z2uekh8ZKcwJCN8H&W&}t9j08(=g<~#-bOSdjz6GL$NIy%=tkspK?3vr@E<-3>qq&G*w$ggj_7WO}2WdbkbxM z)9@F%L+}k=)7juHY>6y1*jRe+wRIj(g^lw_F@xZeko*Ap@x{ntNX1oAJLYT($(fJ@^LrexNU`tF3jNs9j6X3-A^eG0+a%1_D(Zzp7O7Wbb1_YcFmjRRb)wndM$7kd2GTS@w z@%VVn@4=6v{50wf;lub`C}P5$o020%Zqq1A5?w-LgNI0Aoo@S2oj*AIofB6wr*TO(n{b+hh%2GQ9{_ z@w%xI>TqSU4;~5!cKyb{1-vKq&1kg5jnh&Fmje0RVjOZQ3W*4Zh18W9^dXFUrh+?JIOdf{r;pc-=UvD`{vg^}E3fH7eqZw}xN9xm7! zbAN`nYzKy-ubrDBm#2L9$%5c7IHrJBq5QxwC|r>)A=KOpyI1p8^XR8#Jj2TJ=`2}l O^JTdu@ z)7Aom0%Y#29|R*(A_ejyS?*M#P=unj2pQ0SpNsMANQ7de5IWeN8JD5sD_^XruEMj9 zd4szENoLf#e~EsAT1`uI+#j)Nnx0p-?w_Z7+uw^Wv~z-KhTaXzo%%v4m{umHGmBue z_ehi*n0T5tg1>w%XuEI5Ic5Jp>k4ECg4!?Zw|pPqr~HcCDf*jgd-J13c>g}Vp~Ulh zEcJB_UbCb{v`SN3Srce06fa=Y3a(y#Fhlo|Y)DBouo`Q+1`qcGlEM)!*5DFO3Pp4i zc>_`)fgFR6VHYuQJJVCRMoVB#CRp8i|1N4Z8A9|cK9w2!A|-t0Ci+a_09w;N{W#qr1KJrL+2{sThx(&{d zZ80729QirM01wIim?F4A@?s0&3bDmz043eA2jCl`kJ|?yl9sr&30*uMDwJiLPAK7= z9{UCc7PbXFO-AFA;WnXhd*CE7#h*~Cd53)!Swn@AP`a7S#c$N*^7vcd=}PRShh#j2 zuhVcf$w}yj*U3aeS-dAK*K@Qy*x4nae8POU#F2joPs++t&KqG)S_{4x!QFr4bQMkM$SlHQT)N z>Jci1A&P^2)4m4BGH0!KEQ7U%)u_MQhvc2)Jot$8B%6&*D&|sH>b!Ua-=qDDjGN*J%P;US&T>9^AY+Nh-Blk -- 2.39.5