OSDN Git Service

made a spooki playable glitch
authorsparky4 <sparky4@cock.li>
Fri, 13 Feb 2015 06:07:52 +0000 (00:07 -0600)
committersparky4 <sparky4@cock.li>
Fri, 13 Feb 2015 06:07:52 +0000 (00:07 -0600)
modified:   scroll.exe
modified:   src/scroll.c
modified:   src/test2.c
modified:   test2.exe

scroll.exe
src/scroll.c
src/test2.c
test2.exe

index ec6c31b..6bca073 100644 (file)
Binary files a/scroll.exe and b/scroll.exe differ
index 88b54f7..3d6dcab 100644 (file)
@@ -3,7 +3,8 @@
 #include <stdlib.h>\r
 #include "src\lib\dos_kb.h"\r
 #include "16\lib\x\modex.h"\r
-#include "src\lib\wtest\wtest.c"\r
+#include "src\lib\wtest\wtest.c"
+#include "src\lib\planar.c"\r
 #include "src\lib\ems.c"\r
 \r
 //word far *clock= (word far*) 0x046C; /* 18.2hz clock */\r
@@ -78,7 +79,8 @@ void main() {
        long emsavail;\r
        char teststr[80];\r
        int i;\r
-       bitmap_t ptmp;//, npctmp; // player sprite\r
+       bitmap_t ptmp;//, npctmp; // player sprite
+       planar_buf_t *p;\r
        const char *cpus;\r
        static int persist_aniframe = 0;    /* gonna be increased to 1 before being used, so 0 is ok for default */\r
        page_t screen, screen2, screen3;\r
@@ -130,6 +132,9 @@ void main() {
        /* data */\r
        ptmp = bitmapLoadPcx("ptmp.pcx"); // load sprite\r
        //npctmp = bitmapLoadPcx("ptmp1.pcx"); // load sprite\r
+
+       /* create the planar buffer */\r
+       p = planar_buf_from_bitmap(&ptmp);
 \r
        /*if(isEMS())\r
        {\r
@@ -151,7 +156,7 @@ void main() {
                XMOVE mm;\r
                mm.length=emmhandle;\r
                mm.sourceH=0;\r
-               mm.sourceOff=(long)&ptmp;\r
+               mm.sourceOff=(long)(bitmap_t *)p;\r
                mm.destH=emmhandle;\r
                mm.destOff=0;\r
                //halp!\r
@@ -212,7 +217,7 @@ void main() {
        npc0.q=1;\r
        npc0.d=0;\r
        modexDrawSpriteRegion(spri->page, npc0.x-4, npc0.y-TILEWH, 24, 64, 24, 32, &npctmp);*/\r
-       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 64, 24, 32, &ptmp);\r
+       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 64, 24, 32, (bitmap_t *)p);\r
 \r
        modexClearRegion(spri->page, player.triggerx*16, player.triggery*16, 16, 16, 1);\r
        modexClearRegion(bg->page, player.triggerx*16, player.triggery*16, 16, 16, 1);\r
@@ -351,8 +356,8 @@ void main() {
                        if(player.q<=(TILEWH/SPEED))\r
                        {\r
                                INC_PER_FRAME;\r
-                               //animatePlayer(bg, spri, mask, 1, 1, player.x, player.y, persist_aniframe, q, &ptmp);\r
-                               animatePlayer(bg, spri, player.d-1, 1, player.x, player.y, persist_aniframe, player.q, &ptmp);\r
+                               //animatePlayer(bg, spri, mask, 1, 1, player.x, player.y, persist_aniframe, q, (bitmap_t *)p);\r
+                               animatePlayer(bg, spri, player.d-1, 1, player.x, player.y, persist_aniframe, player.q, (bitmap_t *)p);\r
                                mapScrollRight(bg, SPEED);\r
                                mapScrollRight(spri, SPEED);\r
                                //mapScrollRight(mask, SPEED);\r
@@ -366,8 +371,8 @@ void main() {
                        {\r
                                INC_PER_FRAME;\r
                                player.x+=SPEED;\r
-                               //animatePlayer(bg, spri, mask, 1, 0, player.x, player.y, persist_aniframe, q, &ptmp);\r
-                               animatePlayer(bg, spri, player.d-1, 0, player.x, player.y, persist_aniframe, player.q, &ptmp);\r
+                               //animatePlayer(bg, spri, mask, 1, 0, player.x, player.y, persist_aniframe, q, (bitmap_t *)p);\r
+                               animatePlayer(bg, spri, player.d-1, 0, player.x, player.y, persist_aniframe, player.q, (bitmap_t *)p);\r
                                modexShowPage(spri->page);\r
                                player.q++;\r
                        } else { player.q = 1; player.d = 0; player.tx++; }\r
@@ -375,7 +380,7 @@ void main() {
                else\r
                {\r
                        modexCopyPageRegion(spri->page, bg->page, player.x-4, player.y-TILEWH, player.x-4, player.y-TILEWH, 24, 32);\r
-                       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 32, 24, 32, &ptmp);\r
+                       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 32, 24, 32, (bitmap_t *)p);\r
                        modexShowPage(spri->page);\r
                        player.d = 0;\r
                }\r
@@ -392,8 +397,8 @@ void main() {
                        if(player.q<=(TILEWH/SPEED))\r
                        {\r
                                INC_PER_FRAME;\r
-                               //animatePlayer(bg, spri, mask, 3, 1, player.x, player.y, persist_aniframe, q, &ptmp);\r
-                               animatePlayer(bg, spri, player.d-1, 1, player.x, player.y, persist_aniframe, player.q, &ptmp);\r
+                               //animatePlayer(bg, spri, mask, 3, 1, player.x, player.y, persist_aniframe, q, (bitmap_t *)p);\r
+                               animatePlayer(bg, spri, player.d-1, 1, player.x, player.y, persist_aniframe, player.q, (bitmap_t *)p);\r
                                mapScrollLeft(bg, SPEED);\r
                                mapScrollLeft(spri, SPEED);\r
                                //mapScrollLeft(mask, SPEED);\r
@@ -407,8 +412,8 @@ void main() {
                        {\r
                                INC_PER_FRAME;\r
                                player.x-=SPEED;\r
-                               //animatePlayer(bg, spri, mask, 3, 0, player.x, player.y, persist_aniframe, q, &ptmp);\r
-                               animatePlayer(bg, spri, player.d-1, 0, player.x, player.y, persist_aniframe, player.q, &ptmp);\r
+                               //animatePlayer(bg, spri, mask, 3, 0, player.x, player.y, persist_aniframe, q, (bitmap_t *)p);\r
+                               animatePlayer(bg, spri, player.d-1, 0, player.x, player.y, persist_aniframe, player.q, (bitmap_t *)p);\r
                                modexShowPage(spri->page);\r
                                player.q++;\r
                        } else { player.q = 1; player.d = 0; player.tx--; }\r
@@ -416,7 +421,7 @@ void main() {
                else\r
                {\r
                        modexCopyPageRegion(spri->page, bg->page, player.x-4, player.y-TILEWH, player.x-4, player.y-TILEWH, 24, 32);\r
-                       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 96, 24, 32, &ptmp);\r
+                       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 96, 24, 32, (bitmap_t *)p);\r
                        modexShowPage(spri->page);\r
                        player.d = 0;\r
                }\r
@@ -433,8 +438,8 @@ void main() {
                        if(player.q<=(TILEWH/SPEED))\r
                        {\r
                                INC_PER_FRAME;\r
-                               //animatePlayer(bg, spri, mask, 2, 1, player.x, player.y, persist_aniframe, q, &ptmp);\r
-                               animatePlayer(bg, spri, player.d-1, 1, player.x, player.y, persist_aniframe, player.q, &ptmp);\r
+                               //animatePlayer(bg, spri, mask, 2, 1, player.x, player.y, persist_aniframe, q, (bitmap_t *)p);\r
+                               animatePlayer(bg, spri, player.d-1, 1, player.x, player.y, persist_aniframe, player.q, (bitmap_t *)p);\r
                                mapScrollDown(bg, SPEED);\r
                                mapScrollDown(spri, SPEED);\r
                                //mapScrollDown(mask, SPEED);\r
@@ -448,8 +453,8 @@ void main() {
                        {\r
                                INC_PER_FRAME;\r
                                player.y+=SPEED;\r
-                               //animatePlayer(bg, spri, mask, 2, 0, player.x, player.y, persist_aniframe, q, &ptmp);\r
-                               animatePlayer(bg, spri, player.d-1, 0, player.x, player.y, persist_aniframe, player.q, &ptmp);\r
+                               //animatePlayer(bg, spri, mask, 2, 0, player.x, player.y, persist_aniframe, q, (bitmap_t *)p);\r
+                               animatePlayer(bg, spri, player.d-1, 0, player.x, player.y, persist_aniframe, player.q, (bitmap_t *)p);\r
                                modexShowPage(spri->page);\r
                                player.q++;\r
                        } else { player.q = 1; player.d = 0; player.ty++; }\r
@@ -457,7 +462,7 @@ void main() {
                else\r
                {\r
                        modexCopyPageRegion(spri->page, bg->page, player.x-4, player.y-TILEWH, player.x-4, player.y-TILEWH, 24, 32);\r
-                       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 64, 24, 32, &ptmp);\r
+                       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 64, 24, 32, (bitmap_t *)p);\r
                        modexShowPage(spri->page);\r
                        player.d = 0;\r
                }\r
@@ -474,8 +479,8 @@ void main() {
                        if(player.q<=(TILEWH/SPEED))\r
                        {\r
                                INC_PER_FRAME;\r
-                               //animatePlayer(bg, spri, mask, 0, 1, player.x, player.y, persist_aniframe, q, &ptmp);\r
-                               animatePlayer(bg, spri, player.d-1, 1, player.x, player.y, persist_aniframe, player.q, &ptmp);\r
+                               //animatePlayer(bg, spri, mask, 0, 1, player.x, player.y, persist_aniframe, q, (bitmap_t *)p);\r
+                               animatePlayer(bg, spri, player.d-1, 1, player.x, player.y, persist_aniframe, player.q, (bitmap_t *)p);\r
                                mapScrollUp(bg, SPEED);\r
                                mapScrollUp(spri, SPEED);\r
                                //mapScrollUp(mask, SPEED);\r
@@ -489,16 +494,16 @@ void main() {
                        {\r
                                INC_PER_FRAME;\r
                                player.y-=SPEED;\r
-                               //animatePlayer(bg, spri, mask, 0, 0, player.x, player.y, persist_aniframe, q, &ptmp);\r
+                               //animatePlayer(bg, spri, mask, 0, 0, player.x, player.y, persist_aniframe, q, (bitmap_t *)p);\r
                                modexShowPage(spri->page);\r
-                               animatePlayer(bg, spri, player.d-1, 0, player.x, player.y, persist_aniframe, player.q, &ptmp);\r
+                               animatePlayer(bg, spri, player.d-1, 0, player.x, player.y, persist_aniframe, player.q, (bitmap_t *)p);\r
                                player.q++;\r
                        } else { player.q = 1; player.d = 0; player.ty--; }\r
                }\r
                else\r
                {\r
                        modexCopyPageRegion(spri->page, bg->page, player.x-4, player.y-TILEWH, player.x-4, player.y-TILEWH, 24, 32);\r
-                       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 0, 24, 32, &ptmp);\r
+                       modexDrawSpriteRegion(spri->page, player.x-4, player.y-TILEWH, 24, 0, 24, 32, (bitmap_t *)p);\r
                        modexShowPage(spri->page);\r
                        player.d = 0;\r
                }\r
index e20e2d3..cb0b818 100644 (file)
@@ -1,11 +1,13 @@
-#include <stdio.h>\r
+#include <stdio.h>
+#include <conio.h>
 #include "src\lib\modex16.h"\r
 #include "src\lib\planar.h"\r
 #include "src\lib\bitmap.h"\r
 \r
 word far* clock= (word far*) 0x046C; /* 18.2hz clock */\r
 \r
-void main() {\r
+void main() {
+       FILE *file;\r
     bitmap_t bmp;\r
     planar_buf_t *p;\r
     word size;\r
@@ -44,5 +46,11 @@ void main() {
            }\r
            printf("\n");\r
        }\r
-    }\r
+    }
+
+//     file = fopen("ptmp0.pcx", "wb");
+\r
+    /* write the data to the file */\r
+    //fwrite(p, 1, p->width*p->height, file);\r
+    //fclose(file);\r
 }\r
index 32bee2e..6ac101b 100644 (file)
Binary files a/test2.exe and b/test2.exe differ