From df3157c1dee208438339a697e59c923eb986f0de Mon Sep 17 00:00:00 2001 From: Robert Lowe Date: Sun, 7 Sep 2014 20:51:22 -0400 Subject: [PATCH] initial attempt at paging while scrolling --- 16/modex16/scroll.c | 19 +++++++++++++++---- 16/modex16/scroll.exe | Bin 17934 -> 17982 bytes 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/16/modex16/scroll.c b/16/modex16/scroll.c index bd086732..09b91f76 100644 --- a/16/modex16/scroll.c +++ b/16/modex16/scroll.c @@ -44,19 +44,22 @@ void mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y); void mapDrawRow(map_view_t *mv, int tx, int ty, word y); void mapDrawCol(map_view_t *mv, int tx, int ty, word x); +#define SWAP(a, b) tmp=a; a=b; b=tmp; void main() { int show1=1; int tx, ty; int x, y; - page_t screen; + page_t screen,screen2; map_t map; - map_view_t mv; + map_view_t mv, mv2; + map_view_t *draw, *show, *tmp; byte *ptr; /* create the map */ map = allocMap(80,60); initMap(&map); mv.map = ↦ + mv2.map = ↦ /* draw the tiles */ ptr = map.data; @@ -64,13 +67,21 @@ void main() { screen = modexDefaultPage(); screen.width = 352; mv.page = &screen; + screen2=modexNextPage(mv.page); + mv2.page = &screen2; mapGoTo(&mv, 0, 0); + mapGoTo(&mv2, 0, 0); modexShowPage(mv.page); + /* set up paging */ + show = &mv; + draw = &mv2; /* scroll all the way to the right */ for(x=0; x<(map.width*16-SCREEN_WIDTH); x++) { - mapScrollRight(&mv, 1); - modexShowPage(mv.page); + mapScrollRight(draw, 1); + modexShowPage(draw->page); + mapScrollRight(show, 1); + //SWAP(draw, show); } /* scroll all the way to the left */ diff --git a/16/modex16/scroll.exe b/16/modex16/scroll.exe index 26addeed4f6b6b5ac271776b7ca7dbbe4c83509d..ee38ecbaab4e89cefd35b88bd4aef538c78466d2 100755 GIT binary patch delta 2164 zcmYjSeNa@_6~E`bear6h-Y&R&2n1Zfk0cskYe!9yh@!7?jAntBPerGuHZz^kX}e&P zz=Fdt;bvJzb7`BHG)W~8C;6kbn+%VKVOG{6Qc00uCE^%@jb7X}jbIlFlj<+jYo*(63_w)C}0i&*|Lq z;^z}j<-^ndx+E14{+8B(dnZRX>9yS)Jq87V@uqRt3bxg3bpf+*syC%HNY_V3S0NiNGby5B2Vv0>TRU-@if3rcE$ zktTgPjFK<)&(*hyXQ4WzY1W8%P+O0Rsx|VPW8!NiOF1F!M=yxV4W7Ozo;5f_>PDpa zcv>jBOLdKt{MAWqS0J)LrYge@MTh7{Ls<##$3M{F{rW0)4SGav29|_ozse!av3Rk0 zEaz{yPx+I?Q=`Zd;81LcE|RV&3Rd!-VHL~}pJA3;5XkQgY23I#E*KPY$|S=$88gkn zB)J-$3B7ENBStX>-i%OLq6Ehom0$>b61l2!QXw8noa3}>#uw}($|auO*R%C9PybG? zit+VVxFQAdbe6+?O}^?FB?CF=kiPLEr-Z}wYds#WV6KUXzOUIR!58pf-MS{9lWFK_ zZy4*;Z3qw0lSb@k>am5&4yNy6`Z{GPOgr@M?}omwkEu4{F*faF}ScLhYVPDEr-;^LfS7p%8gTS?{oDupa|X{(pSU=*Q~*rpmZ>y%}j`Mn`9S#!=&YL zH+j#To|_3+b}~x|$}p3e(`hnHq}-$hZ4&GuZTCH6b6>-xuVLO-ZE5y5+}@@gt|5!& z9Z?@j8hw-OvOEr6a@4Xe`E6s%SgX(Nn)cK{;N zP(#jG^ON>lmOG5UxCr~h37w#Zk=A)S$%3^Da)>vs72YB{;$H`uT#L7{juwi~XDHj8 zkOzIFI$;CcA!ibfgP$ZP{tP^%C2>vCZ!NelFC4D6vJT$lbA5*`RSd)QG#N}x1xje* z0r(A(SGGyfmPXeSavIz_4XnT2UAf7cZNZlUZx>@feJPCl7#a)`$w@i`hsozjdsg-u z?Y@TR^|ru0hN>;nRC$%AH9nj{-g=8L50eoh0*XU2xd@ z(z+8o6nYn)Y~`bizGBgD*V@msq%CU;B$A=5JdnK6*_|RhN&c8y0)p4LH3LBLZpga< zaE(N5Ta|Ek)GaSX0%mOn57Um}zymts-MZ~ZJRI}ByQ2&E3G0NneCH`xZOgOeu{dm< W7H$4k(KU#@s1)sR7k?N3t1*0Qw33}NSZ=16A!^;T{h7JSZewq42``Ln_2TzGG6Z7ysK)JCho(PPX5x;aD24~{pD z)P1S#3~Ljlt-((p;ubk>3jH5$bvW#d@vFE%7&m4N|#tttX~L1aOzI)P}f$U
Y5L&Y80Y3L^fk)llWP{esk&Rbhvg6Ug z+denbZ5`J9U`Q1d9nenJNNcSPW-6k|SdGRa<{`VKZ^D!0O{omtCsM?=`eSlCcxH6u z%QC*Azh9KqnD91x<%7kGPtE8X{XnL}BKx7-ZmOA4*CE;?GPmq2F*J^ggX8*Ffy@h; ztk7K4fY^FdX)(Ttzhl5Vr7BLagqXurTI6mHr~=Xxi<6s&p86;5rT?&s%p!9FTr>@_ z2V^vY39%7m%$y=jOGhk}yl#FL7RW7gDttsVv!<_>S(qSsax9T$1^&*Zcw6RmmXE?` z$+voys~qq%-NiC96#Q%WbjnGCysLgr(2o|M&%91AiR?3pzb}hyO2Sv+z2=C`4f9Am zaA)$~oSt#N;HF4qvjXmI>haiVI&!fAsqun9HI3bt@U?QDw2atkJ!UaJk8k=6O+7Un zA+fhLY*05L+{X@^ae%|4cF@hpRnOXZ00Ujr*cr*Ue&#vJ?y=w@HfU)!ID=DM8j7q6 zmtjM!FdVl82k-~#^N4LRRpUwB$l05mjF_bYVlALw7-DQU@yo>}%%z$c&e*Qk5ZfExt%MJb zhENMCZn)z`IKcU0-!oxn-NP!Ic$JmLM{IeFzQVe0FAC3vX?8&N)_q~BiKC~v(+2Lu z`@N3++M*NtEpo}`$XW*2S;GUx(QDjg&hW^k+@jMEY0R9_0a@neUhjC1cfQA?GzYvB zn{?$0^0=}&;ti`Ve@yl$tDu7%Q&z%n$lsJiK;)*93cn{a$|*QbUbQE|e)5+6B&;IE zQCoxwJNa!?F8>&hqQXctIT4*uKOB9k4_a(jfNF@HP*{QDQdb$;h8J3&MX0T}%Z@0( zy|bk?S-v59(cW_9+`Wh*m%HWNwp;3d>=bhP9loK|a^L3*Z)PLUec!<9D_c5p`yJdo zXYUe_E|59Ie21aZz}2h8WL-=i{E2vC+^~oA#pEWsm4_22P~^q| zE$$4c8qz1=3F3(Dgcan&*fuy!URZL3kFxtq(%=qxEG`!YNo8CPP;xwO4R67|xR;@e zlRUs z$yZ=vYl$`S8!^ijd?|RM2nX1H4fpaESd>X|;_vvVoJ-uA&|%K(@qSxM3x3LbDZ@Hh zrtw34gKZ-_mzIH_ytQ-<^plCDtDus|NuLOdk>uY=Nw&`-9-%@U^@2a)u`I|Ftc~-U zXStqc8ovabgzBmQ(=5DYKWMt{2{m1=Wz>vVtrQ#!Ry58FHRX--P*cKfOwaZXIhyJ~iuaQ5l z_|XzHsrPS9qAH?b4_%5>F_(qN6D#ZB$NoR8Y!JcWU%k3bjNJJNuP{#^EN*fkV*@zI zgNz)A_h&tMMuzodJgXQK|HkZefL{O3oMC`l}~r=