OSDN Git Service

optimized scrolling ww to extreame levels
authorsparky4 <sparky4@cock.li>
Sat, 18 Jun 2016 19:55:36 +0000 (14:55 -0500)
committersparky4 <sparky4@cock.li>
Sat, 18 Jun 2016 19:55:36 +0000 (14:55 -0500)
src/lib/modex16.c
src/lib/scroll16.c

index eeba90f..c9930e4 100755 (executable)
@@ -314,7 +314,7 @@ modexShowPage(page_t *page) {
     outp(CRTC_DATA, crtcOffset);\r
 \r
     /*  wait for one retrace */\r
-    //while (!(inp(INPUT_STATUS_1) & VRETRACE));\r
+    while (!(inp(INPUT_STATUS_1) & VRETRACE));\r
 \r
     /* do PEL panning here */\r
     outp(AC_INDEX, 0x33);\r
index fd75f5c..79ba8bd 100755 (executable)
@@ -44,9 +44,9 @@ void walk(map_view_t *pip, player_t *player, word pn)
                                {
                                        INC_PER_FRAME;
                                        animatePlayer(pip, player, pn, 1);
-                                       ScrollRight(pip, player, 3, pn);
+                                       if(!pageploop){ ScrollRight(pip, player, 3, pn);
                                        ScrollRight(pip, player, 2, pn);
-                                       if(!pageploop) mapScrollRight(pip, player, !(pip[0].video->p), pn);
+                                       mapScrollRight(pip, player, !(pip[0].video->p), pn); }
                                        mapScrollRight(pip, player, (pip[0].video->p), pn);
                                        if(!pageflipflop) modexShowPage(pip[1].page);
                                        player[pn].q++;
@@ -88,9 +88,9 @@ void walk(map_view_t *pip, player_t *player, word pn)
                                {
                                        INC_PER_FRAME;
                                        animatePlayer(pip, player, pn, 1);
-                                       ScrollLeft(pip, player, 3, pn);
+                                       if(!pageploop){ ScrollLeft(pip, player, 3, pn);
                                        ScrollLeft(pip, player, 2, pn);
-                                       if(!pageploop) mapScrollLeft(pip, player, !(pip[0].video->p), pn);
+                                       mapScrollLeft(pip, player, !(pip[0].video->p), pn); }
                                        mapScrollLeft(pip, player, (pip[0].video->p), pn);
                                        if(!pageflipflop) modexShowPage(pip[1].page);
                                        player[pn].q++;
@@ -132,9 +132,9 @@ void walk(map_view_t *pip, player_t *player, word pn)
                                {
                                        INC_PER_FRAME;
                                        animatePlayer(pip, player, pn, 1);
-                                       ScrollDown(pip, player, 3, pn);
+                                       if(!pageploop){ ScrollDown(pip, player, 3, pn);
                                        ScrollDown(pip, player, 2, pn);
-                                       if(!pageploop) mapScrollDown(pip, player, !(pip[0].video->p), pn);
+                                       mapScrollDown(pip, player, !(pip[0].video->p), pn); }
                                        mapScrollDown(pip, player, (pip[0].video->p), pn);
                                        if(!pageflipflop) modexShowPage(pip[1].page);
                                        player[pn].q++;
@@ -176,9 +176,9 @@ void walk(map_view_t *pip, player_t *player, word pn)
                                {
                                        INC_PER_FRAME;
                                        animatePlayer(pip, player, pn, 1);
-                                       ScrollUp(pip, player, 3, pn);
+                                       if(!pageploop){ ScrollUp(pip, player, 3, pn);
                                        ScrollUp(pip, player, 2, pn);
-                                       if(!pageploop) mapScrollUp(pip, player, !(pip[0].video->p), pn);
+                                       mapScrollUp(pip, player, !(pip[0].video->p), pn); }
                                        mapScrollUp(pip, player, (pip[0].video->p), pn);
                                        if(!pageflipflop) modexShowPage(pip[1].page);
                                        player[pn].q++;