]> 4ch.mooo.com Git - 16.git/commitdiff
initial attempt at paging while scrolling
authorRobert Lowe <pngwen@acm.org>
Mon, 8 Sep 2014 00:51:22 +0000 (20:51 -0400)
committerRobert Lowe <pngwen@acm.org>
Mon, 8 Sep 2014 00:51:22 +0000 (20:51 -0400)
16/modex16/scroll.c
16/modex16/scroll.exe

index bd086732be0f1e59000e9b5c64b926552cf6e03c..09b91f767010a16a0fbc5db2e985bd945f8a3b69 100644 (file)
@@ -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);\r
 void mapDrawCol(map_view_t *mv, int tx, int ty, word x);\r
 \r
+#define SWAP(a, b) tmp=a; a=b; b=tmp;\r
 void main() {\r
     int show1=1;\r
     int tx, ty;\r
     int x, y;\r
-    page_t screen;\r
+    page_t screen,screen2;\r
     map_t map;\r
-    map_view_t mv;\r
+    map_view_t mv, mv2;\r
+    map_view_t *draw, *show, *tmp;\r
     byte *ptr;\r
     \r
     /* create the map */\r
     map = allocMap(80,60);\r
     initMap(&map);\r
     mv.map = &map;\r
+    mv2.map = &map;\r
 \r
     /* draw the tiles */\r
     ptr = map.data;\r
@@ -64,13 +67,21 @@ void main() {
     screen = modexDefaultPage();\r
     screen.width = 352;\r
     mv.page = &screen;\r
+    screen2=modexNextPage(mv.page);\r
+    mv2.page = &screen2;\r
     mapGoTo(&mv, 0, 0);\r
+    mapGoTo(&mv2, 0, 0);\r
     modexShowPage(mv.page);\r
 \r
+    /* set up paging */\r
+    show = &mv;\r
+    draw = &mv2;\r
     /* scroll all the way to the right */\r
     for(x=0; x<(map.width*16-SCREEN_WIDTH); x++) {\r
-       mapScrollRight(&mv, 1);\r
-       modexShowPage(mv.page);\r
+       mapScrollRight(draw, 1);\r
+       modexShowPage(draw->page);\r
+       mapScrollRight(show, 1);\r
+       //SWAP(draw, show);\r
     }\r
 \r
     /* scroll all the way to the left */\r
index 26addeed4f6b6b5ac271776b7ca7dbbe4c83509d..ee38ecbaab4e89cefd35b88bd4aef538c78466d2 100755 (executable)
Binary files a/16/modex16/scroll.exe and b/16/modex16/scroll.exe differ