nes-proj/platform/c64/ctk/ctk-hires-theme-enabler.c

304 lines
9.7 KiB
C
Raw Normal View History

/*
* Copyright (c) 2003, Adam Dunkels.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This file is part of the Contiki desktop OS for the C64
*
* $Id: ctk-hires-theme-enabler.c,v 1.1 2006/06/17 22:41:26 adamdunkels Exp $
*
*/
#include <conio.h>
#include "ctk-hires-theme.h"
#define COLOR(bg, fg) ((fg << 4) | (bg))
#define BGCOLOR1 0x0f
#define BGCOLOR2 0x0c
#define BGCOLOR3 0x0b
#define BGCOLOR4 0x00
struct ctk_hires_theme ctk_hires_theme =
{
/* Version string. */
/* char version[8]; */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/* Window borders patterns. */
/* unsigned char ulcorner[8], */ /* Upper left corner. */
{0xff,0xfc,0xf0,0xf0,0xe0,0xe0,0xe0,0xe0},
/* titlebar[8], */ /* Title bar pattern. */
{0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00},
/* urcorner[8], */ /* Upper right corner. */
{0xff,0x3f,0x0f,0x0f,0x07,0x07,0x07,0x07},
/* rightborder[8], */ /* Right border. */
{0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07},
/* lrcorner[8], */ /* Lower right corner. */
{0x07,0x07,0x0f,0x0f,0x3f,0xff,0xff,0xff},
/* lowerborder[8], */ /* Lower border. */
{0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff},
/* llcorner[8], */ /* Lower left corner. */
{0xe0,0xe0,0xf0,0xf0,0xfc,0xff,0xff,0xff},
/* leftborder[8]; */ /* Left border. */
{0xe0,0xe0,0xe0,0xe0,0xe0,0xe0,0xe0,0xe0},
/* Button corner patterns. */
/* unsigned char buttonleft[8], */
{0x03,0x0f,0x1f,0x1f,0x1f,0x1f,0x0f,0x03},
/* buttonright[8]; */
{0xc0,0xf0,0xf8,0xf8,0xf8,0xf8,0xf0,0xc0},
/* Menu border patterns. */
/* unsigned char menuleftpattern[8], */
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
/* menurightpatterns[8]; */
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
/* Window and widget colors. */
/* unsigned char windowcolors[6], */
{COLOR(COLOR_GRAY1, COLOR_BLACK),
COLOR(COLOR_GRAY1, COLOR_BLACK),
COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_WHITE, COLOR_BLACK),
COLOR(COLOR_WHITE, COLOR_BLACK)},
/* separatorcolors[6], */
{COLOR(COLOR_GRAY1, COLOR_GRAY2),
COLOR(COLOR_GRAY1, COLOR_GRAY2),
COLOR(COLOR_GRAY2, COLOR_GRAY3),
COLOR(COLOR_GRAY2, COLOR_GRAY3),
COLOR(COLOR_WHITE, COLOR_GRAY1),
COLOR(COLOR_WHITE, COLOR_GRAY1)},
/* labelcolors[6], */
{COLOR(COLOR_GRAY1, COLOR_BLACK),
COLOR(COLOR_GRAY1, COLOR_BLACK),
COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_WHITE, COLOR_BLACK),
COLOR(COLOR_WHITE, COLOR_BLACK)},
/* buttoncolors[6], */
{COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_GRAY1, COLOR_GRAY2),
COLOR(COLOR_GRAY3, COLOR_GRAY1),
COLOR(COLOR_GRAY1, COLOR_GRAY3),
COLOR(COLOR_GRAY3, COLOR_GRAY1),
COLOR(COLOR_GRAY1, COLOR_GRAY3)},
/* hyperlinkcolors[6], */
{COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
COLOR(COLOR_GRAY2, COLOR_BLUE),
COLOR(COLOR_BLUE, COLOR_GRAY2),
COLOR(COLOR_WHITE, COLOR_BLUE),
COLOR(COLOR_BLUE, COLOR_WHITE)},
/* textentrycolors[6], */
{COLOR(COLOR_GRAY1, COLOR_GRAY2),
COLOR(COLOR_GRAY1, COLOR_BLACK),
COLOR(COLOR_GRAY3, COLOR_BLACK),
COLOR(COLOR_GRAY3, COLOR_BLACK),
COLOR(COLOR_GRAY3, COLOR_BLACK),
COLOR(COLOR_GRAY3, COLOR_BLACK)},
/* bitmapcolors[6], */
{COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_GRAY1, COLOR_BLACK),
COLOR(COLOR_WHITE, COLOR_GRAY1),
COLOR(COLOR_GRAY3, COLOR_BLACK),
COLOR(COLOR_GRAY3, COLOR_BLACK),
COLOR(COLOR_GRAY3, COLOR_BLACK)},
/* textmapcolors[6], */
{COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_WHITE, COLOR_BLACK),
COLOR(COLOR_WHITE, COLOR_BLACK),
COLOR(COLOR_WHITE, COLOR_BLACK),
COLOR(COLOR_WHITE, COLOR_BLACK)},
/* iconcolors[6]; */
{COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_GRAY1, COLOR_GRAY2),
COLOR(COLOR_GRAY3, COLOR_GRAY1),
COLOR(COLOR_GRAY1, COLOR_GRAY3),
COLOR(COLOR_WHITE, COLOR_BLACK),
COLOR(COLOR_BLACK, COLOR_YELLOW)},
/* Button corner colors. */
/* unsigned char buttonleftcolors[6], */
{COLOR(COLOR_GRAY1, COLOR_GRAY2),
COLOR(COLOR_GRAY1, COLOR_GRAY1),
COLOR(COLOR_GRAY2, COLOR_GRAY3),
COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_WHITE, COLOR_GRAY3),
COLOR(COLOR_WHITE, COLOR_GRAY1)},
/* buttonrightcolors[6]; */
{COLOR(COLOR_GRAY1, COLOR_GRAY2),
COLOR(COLOR_GRAY1, COLOR_GRAY1),
COLOR(COLOR_GRAY2, COLOR_GRAY3),
COLOR(COLOR_GRAY2, COLOR_GRAY1),
COLOR(COLOR_WHITE, COLOR_GRAY3),
COLOR(COLOR_WHITE, COLOR_GRAY1)},
/* Menu colors. */
/* unsigned char menucolor,*/
COLOR(COLOR_GRAY3, COLOR_BLACK),
/* openmenucolor, */
COLOR(COLOR_GRAY1, COLOR_GRAY3),
/* activemenucolor; */
COLOR(COLOR_WHITE, COLOR_BLACK),
/* Border and screen colors. */
/* unsigned char bordercolor,*/
0,
/* screencolor; */
0,
/* Pointer sprite 0 color */
0,
/* Pointer sprite 1 color */
1,
/* Pointer sprite. */
/* unsigned char pointer[128]; */
{0x00, 0x00, 0x00,
0x40, 0x00, 0x00,
0x60, 0x00, 0x00,
0x70, 0x00, 0x00,
0x78, 0x00, 0x00,
0x7c, 0x00, 0x00,
0x70, 0x00, 0x00,
0x58, 0x00, 0x00,
0x18, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00,
0xc0, 0x00, 0x00,
0xe0, 0x00, 0x00,
0xf0, 0x00, 0x00,
0xf8, 0x00, 0x00,
0xfc, 0x00, 0x00,
0xfe, 0x00, 0x00,
0xfe, 0x00, 0x00,
0xfc, 0x00, 0x00,
0xfc, 0x00, 0x00,
0x3c, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00 },
/* Background pattern fill. */
/* unsigned char backgroundpattern[8*25]; */
{0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00},
/* Background colors. */
/* unsigned char backgroundpatterncolors[25]; */
{COLOR(BGCOLOR1,BGCOLOR1),
COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3)},
};