OSDN Git Service

fc7215e4efe8aee511982b7e155d6f9d62359202
[proj16/16.git] / src / lib / testpatt.h
1 /* Project 16 Source Code~\r
2  * Copyright (C) 2012-2019 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
3  *\r
4  * This file is part of Project 16.\r
5  *\r
6  * Project 16 is free software; you can redistribute it and/or modify\r
7  * it under the terms of the GNU General Public License as published by\r
8  * the Free Software Foundation; either version 3 of the License, or\r
9  * (at your option) any later version.\r
10  *\r
11  * Project 16 is distributed in the hope that it will be useful,\r
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
14  * GNU General Public License for more details.\r
15  *\r
16  * You should have received a copy of the GNU General Public License\r
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>, or\r
18  * write to the Free Software Foundation, Inc., 51 Franklin Street,\r
19  * Fifth Floor, Boston, MA 02110-1301 USA.\r
20  *\r
21  */\r
22 \r
23 #ifndef __TESTPATT_H__\r
24 #define __TESTPATT_H__\r
25 \r
26 ////corner markers\r
27 #define GVPO gvar.video.page[0]\r
28 #define GVPI gvar.video.page[1]\r
29 #define OW      GVPO.width-16\r
30 #define OH      GVPO.height-16\r
31 #define OE      GVPO.sw\r
32 #define OJ      GVPO.sh\r
33 #define IW      GVPI.width-16\r
34 #define IH      GVPI.height-16\r
35 #define IE      GVPI.sw\r
36 #define IJ      GVPI.sh\r
37 #define DCBO modexClearRegion(&GVPO\r
38 #define DCBI modexClearRegion(&GVPI\r
39 \r
40 #define DRAWOTHERCORNERBOX_TOPLEFT \\r
41 DCBO,   0,      0,      16, 16, 0); \\r
42 DCBO,   16,     16,     16, 16, 1); \\r
43 DCBI,           0,      0,      16, 16, 8); \\r
44 DCBI,           16,     16,     16, 16, 9);\r
45 \r
46 #define DRAWOTHERCORNERBOX_TOPRIGHT \\r
47 DCBO,   OW,     0,      16, 16, 2); \\r
48 DCBO,   OE,     16,     16, 16, 3); \\r
49 DCBI,           IW,     0,      16, 16, 10); \\r
50 DCBI,           IE,     16,     16, 16, 11);\r
51 \r
52 #define DRAWOTHERCORNERBOX_BOTTOMLEFT \\r
53 DCBO,   0,      OH,     16, 16, 4); \\r
54 DCBO,   16,     OJ,     16, 16, 5); \\r
55 DCBI,           0,      IH,     16, 16, 12); \\r
56 DCBI,           16,     IJ,     16, 16, 13);\r
57 \r
58 #define DRAWOTHERCORNERBOX_BOTTOMRIGHT \\r
59 DCBO,   OE,     OJ,     16, 16, 6); \\r
60 DCBO,   OW,     OH,     16, 16, 7); \\r
61 DCBI,           IE,     IJ,     16, 16, 14);\\r
62 DCBI,           IW,     IH,     16, 16, 15);\r
63 \r
64 #define DRAWCORNERBOXES \\r
65 DRAWOTHERCORNERBOX_TOPLEFT; \\r
66 DRAWOTHERCORNERBOX_TOPRIGHT; \\r
67 DRAWOTHERCORNERBOX_BOTTOMLEFT; \\r
68 DRAWOTHERCORNERBOX_BOTTOMRIGHT;\r
69 \r
70 #define TESTBG1 \\r
71         modexClearRegion(&gvar.video.page[0], 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 1); \\r
72         modexClearRegion(&gvar.video.page[0], 16, 16, gvar.video.page[0].sw, gvar.video.page[0].sh, 2); \\r
73         modexClearRegion(&gvar.video.page[0], 32, 32, gvar.video.page[0].sw-32, gvar.video.page[0].sh-32, 3); \\r
74         modexClearRegion(&gvar.video.page[0], 48, 48, gvar.video.page[0].sw-64, gvar.video.page[0].sh-64, 2);\r
75 \r
76 #define TESTBG2 \\r
77         modexClearRegion(&gvar.video.page[1], 0, 0, gvar.video.page[1].width, gvar.video.page[1].height, 5); \\r
78         modexClearRegion(&gvar.video.page[1], 16, 16, gvar.video.page[1].sw, gvar.video.page[1].sh, 6); \\r
79         modexClearRegion(&gvar.video.page[1], 32, 32, gvar.video.page[1].sw-32, gvar.video.page[1].sh-32, 7); \\r
80         modexClearRegion(&gvar.video.page[1], 48, 48, gvar.video.page[1].sw-64, gvar.video.page[1].sh-64, 6);\r
81 \r
82 #define TESTBG12 \\r
83         TESTBG1 \\r
84         TESTBG2\r
85 \r
86 #define TESTBG34 \\r
87         modexClearRegion(&gvar.video.page[2], 0, 0, gvar.video.page[2].sw, gvar.video.page[2].sh, 45); \\r
88         modexClearRegion(&gvar.video.page[3], 0, 0, gvar.video.page[3].sw, gvar.video.page[3].sh, 47);\r
89 \r
90 #define TESTBG \\r
91         TESTBG12 \\r
92         TESTBG34\r
93 \r
94 #endif\r