]> 4ch.mooo.com Git - 16.git/commitdiff
starting code for drawing planar buffers
authorRobert Lowe <robert.lowe@maryvillecollege.edu>
Tue, 20 Jan 2015 03:15:02 +0000 (22:15 -0500)
committerRobert Lowe <robert.lowe@maryvillecollege.edu>
Tue, 20 Jan 2015 03:15:02 +0000 (22:15 -0500)
planarNotes.txt [new file with mode: 0644]
src/lib/modex16.c
src/lib/modex16.h

diff --git a/planarNotes.txt b/planarNotes.txt
new file mode 100644 (file)
index 0000000..f929393
--- /dev/null
@@ -0,0 +1,26 @@
+The first case to consider is that where the image width is divisible
+by 4.  This case is shown below:
+
+Planar Format     Normal Raster order
+=============    ===================
+0 0 1 2 3                PI
+  4 5 6 7        00 10 20 30 01 11 21 31 02 12 22 32 03 13 23 33
+  8 9 A B         04 14 24 34 05 15 25 35 06 16 26 36 07 17 27 37
+                         08 18 28 38 09 19 29 39 0A 1A 2A 3A 0B 1B 2B 3B
+1 0 1 2 3
+  4 5 6 7
+  8 9 A B
+
+2 0 1 2 3
+  4 5 6 7
+  8 9 A B
+
+3 0 1 2 3
+  4 5 6 7
+  8 9 A B
+
+Suppose we would like to render the image from (1,0) to (3,1), we
+would render the coordinates:
+
+  10 20 30
+  14 24 34
index bde6b1fe47b89604ce2547e6f9d9ef45a1fa8616..0137b625e95302afa459d1020a63ca1786ebb5c7 100644 (file)
@@ -286,6 +286,12 @@ modexDrawBmpRegion(page_t *page, int x, int y,
 }\r
 \r
 \r
+void\r
+modexDrawPlanarBuf(page_t *page, int x, int y, planar_buf_t *bmp) {\r
+    /* TODO - adapt from test code */\r
+}\r
+\r
+\r
 void\r
 modexDrawSprite(page_t *page, int x, int y, bitmap_t *bmp) {\r
     /* draw the whole sprite */\r
index 1a5debdf26d44a927230dfb5593ec9c2f757c588..7cb278205e7115db68c7146a12a7a3d60432b327 100644 (file)
@@ -6,6 +6,7 @@
 #include <conio.h>\r
 #include "src\lib\types.h"\r
 #include "src\lib\bitmap.h"\r
+#include "src\lib\planar.h"\r
 \r
 /* -========================== Types & Macros ==========================- */\r
 #define PAGE_OFFSET(x,y) (((y)<<6)+((y)<<4)+((x)>>2))\r
@@ -29,11 +30,12 @@ page_t modexNextPage(page_t *p);
 void modexShowPage(page_t *page);\r
 void modexPanPage(page_t *page, int dx, int dy);\r
 void modexSelectPlane(byte plane);\r
-void modexClearRegion(page_t *page, int x, int y, int w, int h, byte color);
+void modexClearRegion(page_t *page, int x, int y, int w, int h, byte color);\r
 void modexDrawBmp(page_t *page, int x, int y, bitmap_t *bmp);\r
 void modexDrawBmpRegion(page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp);\r
+void modexDrawPlanarBuf(page_t *page, int x, int y, planar_buf_t *bmp);\r
 void modexDrawSprite(page_t *page, int x, int y, bitmap_t *bmp);\r
-void modexDrawSpriteRegion(page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp);
+void modexDrawSpriteRegion(page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp);\r
 void modexCopyPageRegion(page_t *dest, page_t *src, word sx, word sy, word dx, word dy, word width, word height);\r
 \r
 /* Palette fade and flash effects */\r