/* ScummVM - Scumm Interpreter
 * Copyright (C) 2003 The ScummVM project
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.

 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * $Header$ 
 *
 */

#ifndef SKY79COMP_H
#define SKY79COMP_H




namespace SkyCompact {

uint16 sc791_palette[] = {
	0,
	1024,
	514,
	771,
	1540,
	514,
	772,
	1283,
	1027,
	1028,
	1030,
	1029,
	775,
	1540,
	1540,
	1286,
	2308,
	771,
	1033,
	1028,
	1542,
	1288,
	1284,
	2054,
	1034,
	2053,
	1541,
	1542,
	3078,
	1283,
	1290,
	1284,
	1799,
	1543,
	3080,
	1029,
	1800,
	2566,
	1286,
	1038,
	1540,
	2056,
	1545,
	1800,
	1799,
	1040,
	3332,
	1541,
	2056,
	1800,
	2568,
	1547,
	3591,
	1030,
	1042,
	2564,
	1800,
	2058,
	2313,
	2057,
	1295,
	3078,
	1800,
	2568,
	4361,
	1541,
	1806,
	2054,
	2826,
	1806,
	2568,
	2058,
	1808,
	3078,
	2313,
	1301,
	2565,
	2570,
	1810,
	2565,
	3082,
	2064,
	3592,
	2057,
	2825,
	3595,
	2569,
	1810,
	3079,
	2571,
	3082,
	3084,
	3083,
	2576,
	4617,
	1801,
	1560,
	5638,
	1287,
	2322,
	3593,
	2571,
	1814,
	5127,
	2313,
	3340,
	3596,
	3084,
	3340,
	6670,
	1286,
	2072,
	4102,
	2827,
	3345,
	3853,
	3342,
	3853,
	5390,
	2827,
	2331,
	6409,
	2570,
	4110,
	8208,
	1543,
	2333,
	7944,
	2056,
	2839,
	5387,
	3085,
	4112,
	7439,
	2570,
	2083,
	4614,
	4881,
	2847,
	6923,
	3342,
	3865,
	9230,
	2059,
	3106,
	7433,
	3086,
	2343,
	8455,
	2829,
	2854,
	8200,
	3856,
	3366,
	8716,
	3599,
	3368,
	11021,
	2572,
	3624,
	11531,
	2572,
	3882,
	9742,
	3858,
	4140,
	10766,
	3601,
	4656,
	11021,
	4627,
	4402,
	12045,
	4114,
	5173,
	12303,
	4886,
	5427,
	12817,
	4886,
	6702,
	8472,
	8737,
	8483,
	14625,
	4632,
	6710,
	13589,
	5915,
	9272,
	8993,
	8481,
	3086,
	4364,
	3855,
	4628,
	5906,
	5397,
	6171,
	7704,
	6939,
	7713,
	9246,
	8738,
	9512,
	11045,
	10537,
	11310,
	12844,
	12336,
	13109,
	14387,
	14135,
	15163,
	16187,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	0,
	14336,
	13364,
	11569,
	9261,
	8481,
	6687,
	6681,
	4626,
	2578,
	1803,
	770,
	519,
	13571,
	9517,
	9778,
	11805,
	5151,
	5926,
	8205,
	1808,
	2586,
	11267,
	2056,
	8210,
	7441,
	6954,
	9494,
	4119,
	3866,
	4864,
	13316,
	13364,
	11563,
	8751,
	9506,
	10024,
	8242,
	10527,
	6174,
	5927,
	7698,
	3600,
	2325,
	2308,
	11573,
	12837,
	7462,
	7982,
	9748,
	3351,
	4128,
	6663,
	778,
	9533,
	13100,
	9244,
	5162,
	8476,
	5390,
	2072,
	3855,
	2308,
	2865,
	9995,
	1285,
	285,
	4865,
	0,
	11573,
	12837,
	7462,
	0,
	16128,
	0,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	13887,
	13878,
	12077,
	8241,
	10527,
	5917,
	5925,
	7698,
	2865,
	9995,
	1285,
	285,
	16129,
	16191
};

uint16 sc79_chip_list[] = {
	IT_SC79_LAYER_0+DISK_10,
	IT_SC79_SUPPORT+DISK_10,
	IT_SC79_CROUCH+DISK_10,
	IT_SC79_CLIMB+DISK_10,
	IT_SC79_TIE_ROPE+DISK_10,
	IT_SC79_TOSS_ROPE+DISK_10,
	IT_SC79_ROPE+DISK_10,
	IT_SC79_KNOT+DISK_10,
	0
};

uint16 sc79_climb_up[] = {
	92*64,
	372,
	280,
	24,
	366,
	280,
	23,
	368,
	280,
	22,
	365,
	280,
	21,
	364,
	280,
	20,
	364,
	280,
	19,
	364,
	280,
	18,
	363,
	280,
	17,
	367,
	280,
	16,
	365,
	280,
	15,
	363,
	280,
	14,
	363,
	280,
	13,
	363,
	280,
	12,
	362,
	277,
	11,
	365,
	276,
	10,
	364,
	271,
	9,
	353,
	266,
	8,
	353,
	265,
	7,
	352,
	264,
	6,
	352,
	262,
	5,
	346,
	262,
	4,
	340,
	263,
	3,
	335,
	262,
	2,
	330,
	261,
	1,
	323,
	258,
	0,
	0,
	0
};

Compact sc79_exit = {
	0,	// logic
	ST_MOUSE,	// status
	0,	// sync
	79,	// screen
	0,	// place
	0,	// getToTable
	128,	// xcood
	210,	// ycood
	0,	// frame
	1+T7,	// cursorText
	STD_EXIT_LEFT_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	155-128,	// mouseSize_x
	280-210,	// mouseSize_y
	SC79_EXIT_ACTION,	// actionScript
	0,
	0,
	0,
	0,
	0,
	{ 0, 0, 0 },
	0,
	0,
	0,
	0,
	0
};

Compact sc79_rope = {
	L_SCRIPT,	// logic
	ST_LOGIC+ST_RECREATE,	// status
	0,	// sync
	79,	// screen
	0,	// place
	0,	// getToTable
	288,	// xcood
	306,	// ycood
	98*64,	// frame
	49,	// cursorText
	STD_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	(int16) 65531,	// mouseRel_x
	0,	// mouseRel_y
	332-325,	// mouseSize_x
	327-305,	// mouseSize_y
	SC79_ROPE_ACTION,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	{ 0, 0, 0 },
	0,	// offset
	C_BASE_MODE,	// mode
	SC79_ROPE_LOGIC,	// baseSub
	0,	// baseSub_off
	0
};

Compact sc79_support = {
	0,	// logic
	ST_MOUSE+ST_FOREGROUND,	// status
	0,	// sync
	79,	// screen
	0,	// place
	0,	// getToTable
	275,	// xcood
	267,	// ycood
	48*64,	// frame
	20573,	// cursorText
	STD_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	(int16) 65533,	// mouseRel_y
	296-275,	// mouseSize_x
	315-264,	// mouseSize_y
	SC79_SUPPORT_ACTION,	// actionScript
	0,
	0,
	0,
	0,
	0,
	{ 0, 0, 0 },
	0,
	0,
	0,
	0,
	0
};

uint16 sc79_palette[] = {
	0,
	1024,
	514,
	771,
	1540,
	514,
	772,
	1283,
	1027,
	1028,
	1030,
	1029,
	775,
	1540,
	1540,
	1286,
	2308,
	771,
	1033,
	1028,
	1542,
	1288,
	1284,
	2054,
	1034,
	2053,
	1541,
	1542,
	3078,
	1283,
	1290,
	1284,
	1799,
	1543,
	3080,
	1029,
	1800,
	2566,
	1286,
	1038,
	1540,
	2056,
	1545,
	1800,
	1799,
	1040,
	3332,
	1541,
	2056,
	1800,
	2568,
	1547,
	3591,
	1030,
	1042,
	2564,
	1800,
	2058,
	2313,
	2057,
	1295,
	3078,
	1800,
	2568,
	4361,
	1541,
	1806,
	2054,
	2826,
	1806,
	2568,
	2058,
	1808,
	3078,
	2313,
	1301,
	2565,
	2570,
	1810,
	2565,
	3082,
	2064,
	3592,
	2057,
	2825,
	3595,
	2569,
	1810,
	3079,
	2571,
	3082,
	3084,
	3083,
	2576,
	4617,
	1801,
	1560,
	5638,
	1287,
	2322,
	3593,
	2571,
	1814,
	5127,
	2313,
	3340,
	3596,
	3084,
	3340,
	6670,
	1286,
	2072,
	4102,
	2827,
	3345,
	3853,
	3342,
	3853,
	5390,
	2827,
	2331,
	6409,
	2570,
	4110,
	8208,
	1543,
	2333,
	7944,
	2056,
	2839,
	5387,
	3085,
	4112,
	7439,
	2570,
	2083,
	4614,
	4881,
	2847,
	6923,
	3342,
	3865,
	9230,
	2059,
	3106,
	7433,
	3086,
	2343,
	8455,
	2829,
	2854,
	8200,
	3856,
	3366,
	8716,
	3599,
	3368,
	11021,
	2572,
	3624,
	11531,
	2572,
	3882,
	9742,
	3858,
	4140,
	10766,
	3601,
	4656,
	11021,
	4627,
	4402,
	12045,
	4114,
	5173,
	12303,
	4886,
	5427,
	12817,
	4886,
	6702,
	8472,
	8737,
	8483,
	14625,
	4632,
	6710,
	13589,
	5915,
	9272,
	8993,
	8481,
	3086,
	4364,
	3855,
	4628,
	5906,
	5397,
	6171,
	7704,
	6939,
	7713,
	9246,
	8738,
	9512,
	11045,
	10537,
	11310,
	12844,
	12336,
	13109,
	14387,
	14135,
	15163,
	16187,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	0,
	14336,
	13364,
	11569,
	9261,
	8481,
	6687,
	6681,
	4626,
	2578,
	1803,
	770,
	519,
	13571,
	9517,
	9778,
	11805,
	5151,
	5926,
	8205,
	1808,
	2586,
	11267,
	2056,
	8210,
	7441,
	6954,
	9494,
	4119,
	3866,
	4864,
	13316,
	13364,
	11563,
	8751,
	9506,
	10024,
	8242,
	10527,
	6174,
	5927,
	7698,
	3600,
	2325,
	2308,
	11573,
	12837,
	7462,
	7982,
	9748,
	3351,
	4128,
	6663,
	778,
	9533,
	13100,
	9244,
	5162,
	8476,
	5390,
	2072,
	3855,
	2308,
	2865,
	9995,
	1285,
	285,
	4865,
	0,
	11573,
	12837,
	7462,
	0,
	16128,
	0,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	16191,
	13887,
	13878,
	12077,
	8241,
	10527,
	5917,
	5925,
	7698,
	2865,
	9995,
	1285,
	285,
	16129,
	16191
};

uint16 sc79_climb_down[] = {
	92*64,
	323,
	258,
	0,
	330,
	261,
	1,
	335,
	262,
	2,
	340,
	263,
	3,
	346,
	262,
	4,
	352,
	262,
	5,
	352,
	264,
	6,
	353,
	265,
	7,
	353,
	266,
	8,
	364,
	271,
	9,
	365,
	276,
	10,
	362,
	277,
	11,
	363,
	280,
	12,
	363,
	280,
	13,
	363,
	280,
	14,
	365,
	280,
	15,
	367,
	280,
	16,
	363,
	280,
	17,
	364,
	280,
	18,
	364,
	280,
	19,
	364,
	280,
	20,
	365,
	280,
	21,
	368,
	280,
	22,
	366,
	280,
	23,
	372,
	280,
	24,
	0,
	0
};

uint16 sc79_crouch_down[] = {
	91*64,
	348,
	226,
	0,
	345,
	227,
	1,
	340,
	231,
	2,
	338,
	239,
	3,
	335,
	248,
	4,
	335,
	250,
	5,
	329,
	251,
	6,
	321,
	256,
	7,
	315,
	259,
	8,
	318,
	259,
	9,
	0,
	0
};

uint16 sc79_pipe_table[] = {
	ID_SC79_PIPE,
	RET_OK,
	ID_SC79_EXIT,
	GT_SC79_EXIT,
	0,
	SC79_EXIT_WALK_ON,
	ID_SC79_SUPPORT,
	GT_SC79_SUPPORT,
	ID_SC79_LADDER,
	GT_SC79_LADDER,
	ID_SC79_KNOT,
	GT_SC79_KNOT,
	ID_SC79_ROPE,
	GT_SC79_ROPE,
	65535
};

uint16 reset_78_79[] = {
	C_SCREEN,
	79,
	C_PLACE,
	ID_SC79_PIPE,
	C_XCOOD,
	OFF_LEFT,
	C_YCOOD,
	272,
	65535
};

uint16 sc79_crouch_up[] = {
	91*64,
	318,
	259,
	9,
	315,
	259,
	8,
	321,
	256,
	7,
	329,
	251,
	6,
	335,
	250,
	5,
	335,
	248,
	4,
	338,
	239,
	3,
	340,
	231,
	2,
	345,
	227,
	1,
	348,
	226,
	0,
	0,
	0
};

uint16 sc79_rope_anim[] = {
	98*64,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	310,
	304,
	0,
	321,
	304,
	1,
	314,
	304,
	2,
	311,
	304,
	3,
	311,
	304,
	4,
	310,
	304,
	5,
	310,
	304,
	4,
	310,
	304,
	4,
	310,
	304,
	4,
	310,
	304,
	4,
	310,
	304,
	4,
	310,
	304,
	4,
	310,
	304,
	4,
	310,
	304,
	4,
	0
};

Compact sc79_knot = {
	L_SCRIPT,	// logic
	ST_LOGIC,	// status
	0,	// sync
	79,	// screen
	0,	// place
	0,	// getToTable
	288,	// xcood
	265,	// ycood
	101*64,	// frame
	20892,	// cursorText
	STD_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	298-288,	// mouseSize_x
	275-265,	// mouseSize_y
	SC79_KNOT_ACTION,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	{ 0, 0, 0 },
	0,	// offset
	C_BASE_MODE,	// mode
	SC79_KNOT_LOGIC,	// baseSub
	0,	// baseSub_off
	0
};

uint16 sc79_fast_list[] = {
	12+DISK_10,
	51+DISK_10,
	52+DISK_10,
	53+DISK_10,
	54+DISK_10,
	268+DISK_10,
	0
};

uint16 reset_80_79[] = {
	C_SCREEN,
	79,
	C_PLACE,
	ID_SC79_PIPE,
	65535
};

Compact sc79_ladder = {
	0,	// logic
	ST_MOUSE,	// status
	0,	// sync
	79,	// screen
	0,	// place
	0,	// getToTable
	361,	// xcood
	284,	// ycood
	0,	// frame
	20828,	// cursorText
	STD_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	368-361,	// mouseSize_x
	327-284,	// mouseSize_y
	SC79_LADDER_ACTION,	// actionScript
	0,
	0,
	0,
	0,
	0,
	{ 0, 0, 0 },
	0,
	0,
	0,
	0,
	0
};

uint16 sc79_toss_rope[] = {
	97*64,
	284,
	236,
	0,
	285,
	231,
	1,
	285,
	231,
	1,
	285,
	226,
	2,
	285,
	226,
	3,
	285,
	226,
	3,
	285,
	226,
	4,
	285,
	226,
	5,
	285,
	226,
	6,
	285,
	226,
	7,
	285,
	226,
	8,
	285,
	226,
	9,
	285,
	224,
	10,
	285,
	223,
	11,
	285,
	226,
	12,
	285,
	226,
	13,
	285,
	226,
	14,
	285,
	226,
	15,
	285,
	226,
	16,
	285,
	226,
	17,
	285,
	226,
	18,
	285,
	226,
	19,
	285,
	226,
	20,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	285,
	226,
	21,
	0
};

uint32 *grid79 = 0;

uint16 sc79_logic_list[] = {
	ID_FOSTER,
	ID_SC79_SUPPORT,
	ID_SC79_ROPE,
	ID_SC79_KNOT,
	ID_SC67_PULSE1,
	0XFFFF,
	ID_STD_MENU_LOGIC
};

uint16 sc79_mouse_list[] = {
	ID_SC79_EXIT,
	ID_SC79_LADDER,
	ID_SC79_ROPE,
	ID_SC79_KNOT,
	ID_SC79_SUPPORT,
	ID_SC79_PIPE,
	0XFFFF,
	ID_TEXT_MOUSE
};

uint16 sc79_tie_rope[] = {
	96*64,
	285,
	231,
	0,
	284,
	236,
	1,
	284,
	238,
	2,
	284,
	240,
	3,
	284,
	241,
	4,
	284,
	241,
	5,
	284,
	241,
	6,
	284,
	241,
	7,
	284,
	241,
	8,
	284,
	242,
	9,
	284,
	242,
	9,
	284,
	241,
	8,
	284,
	241,
	7,
	284,
	241,
	6,
	284,
	241,
	6,
	284,
	241,
	7,
	284,
	241,
	8,
	284,
	242,
	9,
	284,
	241,
	8,
	284,
	242,
	9,
	0
};

Compact sc79_pipe = {
	0,	// logic
	ST_MOUSE,	// status
	0,	// sync
	79,	// screen
	0,	// place
	sc79_pipe_table,	// getToTable
	128,	// xcood
	270,	// ycood
	0,	// frame
	0,	// cursorText
	0,	// mouseOn
	0,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	360-128,	// mouseSize_x
	280-270,	// mouseSize_y
	FLOOR_ACTION,	// actionScript
	0,
	0,
	0,
	0,
	0,
	{ 0, 0, 0 },
	0,
	0,
	0,
	0,
	0
};

} // namespace SkyCompact

#endif