summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'dev/ZKA/Modules')
-rw-r--r--dev/ZKA/Modules/CoreCG/FbRenderer.hxx4
-rw-r--r--dev/ZKA/Modules/CoreCG/Rsrc/WndControls.rsrc83
-rw-r--r--dev/ZKA/Modules/CoreCG/WindowRenderer.hxx60
-rw-r--r--dev/ZKA/Modules/PS2/PS2MouseInterface.hxx23
4 files changed, 118 insertions, 52 deletions
diff --git a/dev/ZKA/Modules/CoreCG/FbRenderer.hxx b/dev/ZKA/Modules/CoreCG/FbRenderer.hxx
index 890dd1ee..e53d4a90 100644
--- a/dev/ZKA/Modules/CoreCG/FbRenderer.hxx
+++ b/dev/ZKA/Modules/CoreCG/FbRenderer.hxx
@@ -24,7 +24,7 @@
{ \
for (Kernel::SizeT u = BaseY; u < (_Width + BaseY); ++u) \
{ \
- *(((volatile Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \
+ *(((Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \
4 * kHandoverHeader->f_GOP.f_PixelPerLine * \
i + \
4 * u))) |= (ImgPtr)[__GXCursor]; \
@@ -41,7 +41,7 @@
{ \
for (Kernel::SizeT u = BaseY; u < (_Width + BaseY); ++u) \
{ \
- *(((volatile Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \
+ *(((Kernel::UInt32*)(kHandoverHeader->f_GOP.f_The + \
4 * kHandoverHeader->f_GOP.f_PixelPerLine * \
i + \
4 * u))) = (ImgPtr)[__GXCursor]; \
diff --git a/dev/ZKA/Modules/CoreCG/Rsrc/WndControls.rsrc b/dev/ZKA/Modules/CoreCG/Rsrc/WndControls.rsrc
index f89815fb..a7024fde 100644
--- a/dev/ZKA/Modules/CoreCG/Rsrc/WndControls.rsrc
+++ b/dev/ZKA/Modules/CoreCG/Rsrc/WndControls.rsrc
@@ -1,28 +1,61 @@
-#define FLATCONTROLS_HEIGHT 22
-#define FLATCONTROLS_WIDTH 116
+#define FLATCONTROLS_HEIGHT 24
+#define FLATCONTROLS_WIDTH 44
-// array size is 7656
+// array size is 3168
static inline const unsigned int FlatControls[] = {
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xfe5151, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xfe5151, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff5151, 0xfacdcd, 0xfe5d5d, 0xff4545, 0xff4545, 0xfe5d5d, 0xfacdcd, 0xfe5151, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xfe5d5d, 0xfacdcd, 0xfe5d5d, 0xfe5d5d, 0xfacdcd, 0xfe5d5d, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xfe5d5d, 0xfacdcd, 0xfacdcd, 0xfe5d5d, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xfe5d5d, 0xfacdcd, 0xfacdcd, 0xfe5d5d, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xfe5d5d, 0xfacdcd, 0xfe5d5d, 0xfe5d5d, 0xfacdcd, 0xfe5d5d, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff5151, 0xfacdcd, 0xfe5d5d, 0xff4545, 0xff4545, 0xfe5d5d, 0xfacdcd, 0xfe5151, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xfe5151, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xfe5151, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545,
- 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xf3f3f3, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545, 0xff4545
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0xe0e0e0, 0xe0e0e0, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0xe0e0e0, 0xe0e0e0, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x3e3e3e, 0xe0e0e0, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xe0e0e0, 0x3e3e3e, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
+ 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff
+};
+
+#define FLATCONTROLS_CLOSE_HEIGHT 24
+#define FLATCONTROLS_CLOSE_WIDTH 44
+
+// array size is 3168
+static inline const unsigned int FlatControlsClose[] = {
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xee3636, 0xee3535, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xee3636, 0xee3535, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xfac7c7, 0xee3636, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xee3535, 0xfac7c7, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616,
+ 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616, 0xeb1616
};
diff --git a/dev/ZKA/Modules/CoreCG/WindowRenderer.hxx b/dev/ZKA/Modules/CoreCG/WindowRenderer.hxx
index 52031e1d..79208c47 100644
--- a/dev/ZKA/Modules/CoreCG/WindowRenderer.hxx
+++ b/dev/ZKA/Modules/CoreCG/WindowRenderer.hxx
@@ -24,16 +24,20 @@ namespace CG
enum
{
- cWndFlagNoShow = 0x04,
- cWndFlagButton = 0x08,
- cWndFlagWindow = 0x0A,
+ cWndFlagNoShow = 0x02,
+ cWndFlagButton = 0x04,
+ cWndFlagWindow = 0x06,
+ cWndFlagButtonSelect = 0x08,
+ cWndFlagHideCloseControl = 0x010,
+ cWndFlagCloseControlSelect = 0x012,
};
struct UI_WINDOW_STRUCT final
{
- Int32 w_flags{0};
Char w_window_name[255]{0};
Char w_class_name[255]{0};
+ Int32 w_type{0};
+ Int32 w_sub_type{0};
Int32 w_x{0};
Int32 w_y{0};
Int32 w_w{0};
@@ -44,7 +48,7 @@ namespace CG
typedef struct UI_WINDOW_STRUCT UI_WINDOW_STRUCT;
- inline struct UI_WINDOW_STRUCT* CGCreateWindow(Int32 flags, const Char* window_name, const Char* class_name, Int32 x, Int32 y, Int32 width, Int32 height)
+ inline struct UI_WINDOW_STRUCT* CGCreateWindow(Int32 kind, const Char* window_name, const Char* class_name, Int32 x, Int32 y, Int32 width, Int32 height)
{
UI_WINDOW_STRUCT* wnd = new UI_WINDOW_STRUCT();
@@ -57,9 +61,10 @@ namespace CG
rt_copy_memory((VoidPtr)window_name, wnd->w_window_name, rt_string_len(window_name));
rt_copy_memory((VoidPtr)class_name, wnd->w_class_name, rt_string_len(class_name));
- wnd->w_flags = flags;
- wnd->w_x = x;
- wnd->w_y = y;
+ wnd->w_sub_type = 0;
+ wnd->w_type = kind;
+ wnd->w_x = x;
+ wnd->w_y = y;
wnd->w_w = width;
wnd->w_h = height;
@@ -99,7 +104,7 @@ namespace CG
for (SizeT index = 0; index < wnd_cnt; ++index)
{
if (!wnd[index] ||
- wnd[index]->w_flags & cWndFlagNoShow ||
+ (wnd[index]->w_type == cWndFlagNoShow) ||
!wnd[index]->w_needs_repaint)
continue;
@@ -134,19 +139,44 @@ namespace CG
CGInit();
// Draw fake controls, just for the looks of it (WINDOW ONLY)
- if ((wnd[index]->w_flags & cWndFlagWindow) == cWndFlagWindow)
+ if (wnd[index]->w_type == cWndFlagWindow)
{
CGDrawBitMapInRegion(wnd[index]->display_ptr, wnd[index]->w_h, wnd[index]->w_w, wnd[index]->w_y, wnd[index]->w_x);
CGDrawInRegion(CGColor(0xFF, 0xFF, 0xFF), wnd[index]->w_w, FLATCONTROLS_HEIGHT, wnd[index]->w_y, wnd[index]->w_x);
- CGDrawBitMapInRegion(FlatControls, FLATCONTROLS_HEIGHT, FLATCONTROLS_WIDTH, wnd[index]->w_y, wnd[index]->w_x + wnd[index]->w_w - FLATCONTROLS_WIDTH);
+ if (wnd[index]->w_sub_type != cWndFlagHideCloseControl)
+ {
+ if (wnd[index]->w_sub_type == cWndFlagCloseControlSelect)
+ {
+ CGDrawBitMapInRegion(FlatControlsClose, FLATCONTROLS_CLOSE_HEIGHT, FLATCONTROLS_CLOSE_WIDTH, wnd[index]->w_y, wnd[index]->w_x + wnd[index]->w_w - FLATCONTROLS_WIDTH);
+ }
+ else
+ {
+ CGDrawBitMapInRegion(FlatControls, FLATCONTROLS_HEIGHT, FLATCONTROLS_WIDTH, wnd[index]->w_y, wnd[index]->w_x + wnd[index]->w_w - FLATCONTROLS_WIDTH);
+ }
+ }
+
CGDrawString(wnd[index]->w_window_name, wnd[index]->w_y + 8, wnd[index]->w_x + 8, CGColor(0x00, 0x00, 0x00));
}
- else if ((wnd[index]->w_flags & cWndFlagButton) == cWndFlagButton)
+ /// @note buttons in this library are dynamic, it's because we want to avoid as much as computations as possible.
+ /// (Such as getting the middle coordinates of a button, to center the text.)
+ else if (wnd[index]->w_type == cWndFlagButtonSelect)
{
- CGDrawInRegion(CGColor(0xD3, 0x74, 0x00), wnd[index]->w_w + 1, wnd[index]->w_h + 1, wnd[index]->w_y, wnd[index]->w_x);
- CGDrawInRegion(CGColor(0xFF, 0xFF, 0xFF), wnd[index]->w_w - 1, wnd[index]->w_h - 1, wnd[index]->w_y + 1, wnd[index]->w_x + 1);
- CGDrawString(wnd[index]->w_window_name, wnd[index]->w_y + (wnd[index]->w_y / 2) - (wnd[index]->w_h / 2), wnd[index]->w_x + (wnd[index]->w_x / 2), CGColor(0x00, 0x00, 0x00));
+ auto x_center = wnd[index]->w_x + 6;
+ auto y_center = wnd[index]->w_y + 7;
+
+ CGDrawInRegion(CGColor(0xD3, 0x74, 0x00), wnd[index]->w_w + 1 - rt_string_len(wnd[index]->w_window_name), wnd[index]->w_h + 1 - rt_string_len(wnd[index]->w_window_name), wnd[index]->w_y, wnd[index]->w_x);
+ CGDrawInRegion(CGColor(0xFF, 0xFF, 0xFF), wnd[index]->w_w - 1 - rt_string_len(wnd[index]->w_window_name), wnd[index]->w_h - 1 - rt_string_len(wnd[index]->w_window_name), wnd[index]->w_y + 1, wnd[index]->w_x + 1);
+ CGDrawString(wnd[index]->w_window_name, y_center, x_center, CGColor(0x00, 0x00, 0x00));
+ }
+ else if (wnd[index]->w_type == cWndFlagButton)
+ {
+ auto x_center = wnd[index]->w_x + 6;
+ auto y_center = wnd[index]->w_y + 7;
+
+ CGDrawInRegion(CGColor(0xDC, 0xDC, 0xDC), wnd[index]->w_w + 1 - rt_string_len(wnd[index]->w_window_name), wnd[index]->w_h + 1 - rt_string_len(wnd[index]->w_window_name), wnd[index]->w_y, wnd[index]->w_x);
+ CGDrawInRegion(CGColor(0xFF, 0xFF, 0xFF), wnd[index]->w_w - 1 - rt_string_len(wnd[index]->w_window_name), wnd[index]->w_h - 1 - rt_string_len(wnd[index]->w_window_name), wnd[index]->w_y + 1, wnd[index]->w_x + 1);
+ CGDrawString(wnd[index]->w_window_name, y_center, x_center, CGColor(0x00, 0x00, 0x00));
}
CGFini();
diff --git a/dev/ZKA/Modules/PS2/PS2MouseInterface.hxx b/dev/ZKA/Modules/PS2/PS2MouseInterface.hxx
index 1cba256e..ec57b134 100644
--- a/dev/ZKA/Modules/PS2/PS2MouseInterface.hxx
+++ b/dev/ZKA/Modules/PS2/PS2MouseInterface.hxx
@@ -33,29 +33,32 @@ namespace Kernel
/// @return
Void Init() noexcept
{
- HAL::rt_cli();
-
HAL::Out8(0x64, 0xA8); // enabling the auxiliary device - mouse
this->Wait();
+
HAL::Out8(0x64, 0x20); // tells the keyboard controller that we want to send a command to the mouse
- this->WaitInput();
+
+ this->Wait();
UInt8 status = HAL::In8(0x60);
- status |= 0b10;
+ status |= 0x02;
- this->Wait();
HAL::Out8(0x64, 0x60);
- this->Wait();
HAL::Out8(0x60, status); // setting the correct bit is the "compaq" status byte
- this->Write(0xF6);
- this->Read();
+ HAL::Out8(0x64, 0xD4);
+ HAL::Out8(0x60, 0xFA); // setting the correct bit is the "compaq" status byte
- this->Write(0xF4);
this->Read();
- HAL::rt_sti();
+ // Unmask mouse IRQ.
+
+ // get slave PIC.
+ UInt8 old_pic = HAL::In8(0x21);
+
+ // enable mosue interrupts
+ HAL::Out8(0x21, old_pic & (~0b00000100));
}
public: