/* 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 SKY68COMP_H
#define SKY68COMP_H




namespace SkyCompact {

Compact sc68_pulse5 = {
	L_SCRIPT,	// logic
	ST_LOGIC+ST_BACKGROUND,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	280,	// xcood
	190,	// ycood
	62*64,	// frame
	0,	// cursorText
	0,	// mouseOn
	0,	// mouseOff
	0,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	0,	// mouseSize_x
	0,	// mouseSize_y
	0,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	0,	// grafixProg
	0,	// offset
	C_BASE_MODE,	// mode
	SC68_PULSE5_LOGIC,	// baseSub
	0,	// baseSub_off
};

uint16 sc68_chip_list[] = {
	IT_SC68_LAYER_0+DISK_5,
	IT_SC68_LAYER_1+DISK_5,
	IT_SC68_GRID_1+DISK_5,
	IT_MEDI+DISK_5,
	IT_MEDI_TALK+DISK_5,
	IT_SC68_PULSE1+DISK_5,
	IT_SC68_PULSE2+DISK_5,
	IT_SC68_PULSE3+DISK_5,
	IT_SC68_PULSE4+DISK_5,
	IT_SC68_PULSE5+DISK_5,
	IT_SC68_PULSE6+DISK_5,
	IT_SC68_SENSOR+DISK_5,
	IT_SC68_DESCEND+DISK_5,
	IT_SC68_ASCEND+DISK_5,
	IT_SC68_DOOR+DISK_5,
	0,
};

uint16 reset_69_68[] = {
	C_SCREEN,
	68,
	C_PLACE,
	ID_SC68_FLOOR,
	C_XCOOD,
	OFF_RIGHT,
	C_YCOOD,
	288,
	65535,
};

Compact sc68_pulse1 = {
	L_SCRIPT,	// logic
	ST_LOGIC+ST_BACKGROUND,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	425,	// xcood
	191,	// ycood
	58*64,	// frame
	0,	// cursorText
	0,	// mouseOn
	0,	// mouseOff
	0,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	0,	// mouseSize_x
	0,	// mouseSize_y
	0,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	0,	// grafixProg
	0,	// offset
	C_BASE_MODE,	// mode
	SC68_PULSE1_LOGIC,	// baseSub
	0,	// baseSub_off
};

Compact sc68_door = {
	L_SCRIPT,	// logic
	ST_LOGIC+ST_MOUSE+ST_BACKGROUND+ST_RECREATE,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	184,	// xcood
	213,	// ycood
	57*64,	// frame
	181,	// cursorText
	SC68_DOOR_MOUSE_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	4,	// mouseRel_y
	21,	// mouseSize_x
	67,	// mouseSize_y
	SC68_DOOR_ACTION,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	0,	// grafixProg
	0,	// offset
	C_BASE_MODE,	// mode
	SC68_DOOR_LOGIC,	// baseSub
	0,	// baseSub_off
};

Compact sc68_exit = {
	0,	// logic
	ST_MOUSE,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	420,	// xcood
	220,	// ycood
	0,	// frame
	1+T7,	// cursorText
	STD_EXIT_RIGHT_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	27,	// mouseSize_x
	107,	// mouseSize_y
	SC68_EXIT_ACTION,	// actionScript
};

uint16 sc68_logic_list[] = {
	ID_FOSTER,
	ID_MEDI,
	ID_WITNESS,
	ID_SC67_DOOR,
	ID_SC68_DOOR,
	ID_SC67_CLOT,
	ID_SC67_CROWBAR,
	ID_SC67_MEND,
	ID_SC68_PULSE1,
	ID_SC68_PULSE2,
	ID_SC68_PULSE3,
	ID_SC68_PULSE4,
	ID_SC68_PULSE5,
	ID_SC68_PULSE6,
	ID_SC68_SENSOR,
	ID_SC70_IRIS,
	ID_SC72_SPILL,
	0XFFFF,
	ID_STD_MENU_LOGIC,
};

uint16 sc68_palette[] = {
	0,
	1024,
	772,
	1285,
	1798,
	1029,
	1799,
	2310,
	1287,
	1800,
	3081,
	1287,
	2058,
	2057,
	2314,
	2314,
	2827,
	2058,
	2573,
	4102,
	1545,
	2826,
	3598,
	2060,
	2068,
	3592,
	3083,
	3340,
	4621,
	1803,
	3088,
	5386,
	1803,
	3087,
	4367,
	3340,
	3853,
	6159,
	2570,
	2330,
	4360,
	2831,
	3345,
	5649,
	2317,
	3855,
	4369,
	3855,
	2843,
	5130,
	2576,
	3606,
	4876,
	4367,
	3864,
	7689,
	2572,
	4372,
	5647,
	3089,
	2849,
	5641,
	4624,
	4881,
	6675,
	3855,
	4633,
	7947,
	3086,
	2853,
	8713,
	2829,
	4885,
	4883,
	4885,
	4887,
	6673,
	3603,
	3365,
	7947,
	3600,
	4888,
	7188,
	3091,
	5400,
	8718,
	3343,
	5404,
	10254,
	3086,
	5402,
	6164,
	5399,
	5660,
	5649,
	5912,
	3627,
	10252,
	3600,
	4644,
	7697,
	3863,
	4646,
	8974,
	3860,
	6171,
	8469,
	4118,
	6425,
	7703,
	4632,
	4140,
	8718,
	4887,
	6434,
	7441,
	5914,
	5161,
	8210,
	4890,
	4654,
	9999,
	5141,
	6431,
	11289,
	4371,
	7197,
	8985,
	5146,
	5929,
	9490,
	4635,
	7200,
	10266,
	5912,
	5424,
	10003,
	5147,
	7713,
	11800,
	4887,
	7461,
	7700,
	7200,
	7460,
	12315,
	5399,
	7464,
	10774,
	5149,
	7974,
	8214,
	7712,
	6701,
	12312,
	5913,
	8227,
	10269,
	5921,
	8233,
	9499,
	7969,
	8492,
	10774,
	6434,
	7219,
	11800,
	7198,
	8999,
	13344,
	6941,
	9260,
	10265,
	8741,
	8243,
	12063,
	6693,
	9774,
	10781,
	8743,
	10287,
	10783,
	9513,
	10541,
	12581,
	8488,
	10801,
	12067,
	10027,
	11060,
	13603,
	9517,
	0,
	6144,
	2570,
	3102,
	8714,
	3343,
	4136,
	9230,
	4370,
	5161,
	11794,
	3858,
	6184,
	12311,
	5399,
	6701,
	13080,
	6172,
	7726,
	13084,
	7968,
	10289,
	13345,
	9003,
	0,
	3840,
	3852,
	3857,
	4879,
	4367,
	4885,
	5907,
	4371,
	5402,
	6164,
	5399,
	6685,
	7959,
	6425,
	7200,
	8474,
	6174,
	8227,
	9501,
	7969,
	8999,
	10272,
	8741,
	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,
	3349,
	2826,
	11573,
	12837,
	7462,
	7982,
	9748,
	3351,
	4128,
	6663,
	778,
	14649,
	12601,
	13105,
	10537,
	8749,
	10018,
	7196,
	5665,
	6934,
	2879,
	14347,
	1542,
	558,
	9730,
	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,
};

Compact sc68_pulse3 = {
	L_SCRIPT,	// logic
	ST_LOGIC+ST_BACKGROUND,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	387,	// xcood
	186,	// ycood
	60*64,	// frame
	0,	// cursorText
	0,	// mouseOn
	0,	// mouseOff
	0,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	0,	// mouseSize_x
	0,	// mouseSize_y
	0,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	0,	// grafixProg
	0,	// offset
	C_BASE_MODE,	// mode
	SC68_PULSE3_LOGIC,	// baseSub
	0,	// baseSub_off
};

uint16 sc68_pulse5_anim[] = {
	62*64,
	280,
	190,
	0,
	280,
	190,
	1,
	280,
	190,
	2,
	280,
	190,
	2,
	280,
	190,
	1,
	280,
	190,
	1,
	280,
	190,
	1,
	280,
	190,
	1,
	280,
	190,
	2,
	280,
	190,
	2,
	280,
	190,
	2,
	280,
	190,
	2,
	280,
	190,
	2,
	280,
	190,
	1,
	280,
	190,
	0,
	280,
	190,
	0,
	280,
	190,
	0,
	0,
};

uint16 sc68_ascend[] = {
	154*64,
	256,
	219,
	0,
	256,
	217,
	1,
	256,
	216,
	2,
	256,
	214,
	3,
	256,
	215,
	4,
	256,
	216,
	5,
	256,
	216,
	6,
	257,
	217,
	7,
	259,
	218,
	8,
	261,
	218,
	9,
	0,
};

uint16 sc68_pulse3_anim[] = {
	60*64,
	387,
	186,
	0,
	387,
	186,
	0,
	387,
	186,
	1,
	387,
	186,
	1,
	387,
	186,
	1,
	387,
	186,
	1,
	387,
	186,
	0,
	387,
	186,
	0,
	387,
	186,
	0,
	387,
	186,
	0,
	387,
	186,
	0,
	387,
	186,
	1,
	387,
	186,
	2,
	387,
	186,
	2,
	387,
	186,
	2,
	387,
	186,
	2,
	387,
	186,
	1,
	0,
};

uint16 sc68_pulse2_anim[] = {
	59*64,
	396,
	228,
	0,
	396,
	228,
	0,
	396,
	228,
	1,
	396,
	228,
	1,
	396,
	228,
	1,
	396,
	228,
	1,
	396,
	228,
	0,
	396,
	228,
	0,
	396,
	228,
	0,
	396,
	228,
	0,
	396,
	228,
	0,
	396,
	228,
	1,
	396,
	228,
	2,
	396,
	228,
	2,
	396,
	228,
	2,
	396,
	228,
	2,
	396,
	228,
	1,
	0,
};

Compact sc68_pulse4 = {
	L_SCRIPT,	// logic
	ST_LOGIC+ST_BACKGROUND,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	339,	// xcood
	191,	// ycood
	61*64,	// frame
	0,	// cursorText
	0,	// mouseOn
	0,	// mouseOff
	0,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	0,	// mouseSize_x
	0,	// mouseSize_y
	0,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	0,	// grafixProg
	0,	// offset
	C_BASE_MODE,	// mode
	SC68_PULSE4_LOGIC,	// baseSub
	0,	// baseSub_off
};

uint16 sc68_pulse6_anim[] = {
	63*64,
	245,
	197,
	0,
	245,
	197,
	0,
	245,
	197,
	1,
	245,
	197,
	2,
	245,
	197,
	2,
	245,
	197,
	1,
	245,
	197,
	1,
	245,
	197,
	1,
	245,
	197,
	1,
	245,
	197,
	2,
	245,
	197,
	2,
	245,
	197,
	2,
	245,
	197,
	2,
	245,
	197,
	2,
	245,
	197,
	1,
	245,
	197,
	0,
	245,
	197,
	0,
	0,
};

Compact sc68_sensor = {
	L_SCRIPT,	// logic
	ST_MOUSE+ST_LOGIC+ST_FOREGROUND,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	171,	// xcood
	253,	// ycood
	137*64,	// frame
	20512,	// cursorText
	STD_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	65534,	// mouseRel_x
	65534,	// mouseRel_y
	6,	// mouseSize_x
	11,	// mouseSize_y
	SC68_SENSOR_ACTION,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	0,	// grafixProg
	0,	// offset
	C_BASE_MODE,	// mode
	SC68_SENSOR_LOGIC,	// baseSub
	0,	// baseSub_off
};

uint32 *grid68 = 0;

uint16 sc68_pulse1_anim[] = {
	58*64,
	425,
	191,
	0,
	425,
	191,
	1,
	425,
	191,
	1,
	425,
	191,
	1,
	425,
	191,
	1,
	425,
	191,
	0,
	425,
	191,
	0,
	425,
	191,
	0,
	425,
	191,
	0,
	425,
	191,
	0,
	425,
	191,
	1,
	425,
	191,
	2,
	425,
	191,
	2,
	425,
	191,
	2,
	425,
	191,
	2,
	425,
	191,
	1,
	425,
	191,
	0,
	0,
};

uint16 sc68_pulse4_anim[] = {
	61*64,
	339,
	191,
	0,
	339,
	191,
	1,
	339,
	191,
	1,
	339,
	191,
	0,
	339,
	191,
	0,
	339,
	191,
	0,
	339,
	191,
	0,
	339,
	191,
	1,
	339,
	191,
	1,
	339,
	191,
	1,
	339,
	191,
	1,
	339,
	191,
	1,
	339,
	191,
	0,
	339,
	191,
	2,
	339,
	191,
	2,
	339,
	191,
	2,
	339,
	191,
	2,
	0,
};

Compact sc68_pulse2 = {
	L_SCRIPT,	// logic
	ST_LOGIC+ST_BACKGROUND,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	396,	// xcood
	228,	// ycood
	59*64,	// frame
	0,	// cursorText
	0,	// mouseOn
	0,	// mouseOff
	0,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	0,	// mouseSize_x
	0,	// mouseSize_y
	0,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	0,	// grafixProg
	0,	// offset
	C_BASE_MODE,	// mode
	SC68_PULSE2_LOGIC,	// baseSub
	0,	// baseSub_off
};

uint16 sc68_descend[] = {
	153*64,
	261,
	218,
	0,
	259,
	217,
	1,
	257,
	216,
	2,
	256,
	215,
	3,
	256,
	215,
	4,
	256,
	214,
	5,
	256,
	214,
	6,
	256,
	216,
	7,
	256,
	218,
	8,
	256,
	220,
	9,
	0,
};

uint16 reset_70_68[] = {
	C_SCREEN,
	68,
	C_PLACE,
	ID_SC68_FLOOR,
	C_XCOOD,
	256,
	C_YCOOD,
	219,
	C_FRAME,
	154*64,
	C_DIR,
	DOWN,
	65535,
};

uint16 sc68_sensor_anim[] = {
	137*64,
	171,
	253,
	0,
	171,
	253,
	0,
	171,
	253,
	0,
	171,
	253,
	0,
	171,
	253,
	0,
	171,
	253,
	1,
	171,
	253,
	2,
	171,
	253,
	2,
	171,
	253,
	2,
	171,
	253,
	2,
	0,
};

uint16 sc68_door_close[] = {
	57*64,
	1,
	1,
	3,
	1,
	1,
	2,
	1,
	1,
	1,
	1,
	1,
	0,
	0,
};

uint16 sc68_floor_table[] = {
	ID_SC68_FLOOR,
	RET_OK,
	0,
	SC68_DOOR_WALK_ON,
	1,
	SC68_EXIT_WALK_ON,
	ID_SC68_DOOR,
	GT_SC68_DOOR,
	ID_SC68_SENSOR,
	GT_SC68_SENSOR,
	ID_SC68_GRILL,
	GT_SC68_GRILL,
	ID_SC68_STAIRS,
	GT_SC68_STAIRS,
	ID_SC68_EXIT,
	GT_SC68_EXIT,
	ID_JOEY_PARK,
	GT_JOEY_PARK,
	3,
	GT_SC68_JOEY_WAIT,
	65535,
};

Compact sc68_pulse6 = {
	L_SCRIPT,	// logic
	ST_LOGIC+ST_BACKGROUND,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	245,	// xcood
	197,	// ycood
	63*64,	// frame
	0,	// cursorText
	0,	// mouseOn
	0,	// mouseOff
	0,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	0,	// mouseSize_x
	0,	// mouseSize_y
	0,	// actionScript
	0,	// upFlag
	0,	// downFlag
	0,	// getToFlag
	0,	// flag
	0,	// mood
	0,	// grafixProg
	0,	// offset
	C_BASE_MODE,	// mode
	SC68_PULSE6_LOGIC,	// baseSub
	0,	// baseSub_off
};

Compact sc68_grill = {
	0,	// logic
	ST_MOUSE,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	351,	// xcood
	217,	// ycood
	0,	// frame
	20511,	// cursorText
	STD_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	24,	// mouseSize_x
	15,	// mouseSize_y
	SC68_GRILL_ACTION,	// actionScript
};

Compact sc68_stairs = {
	0,	// logic
	ST_MOUSE,	// status
	0,	// sync
	68,	// screen
	0,	// place
	0,	// getToTable
	255,	// xcood
	210,	// ycood
	0,	// frame
	1+T7,	// cursorText
	STD_EXIT_UP_ON,	// mouseOn
	STD_OFF,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	30,	// mouseSize_x
	60,	// mouseSize_y
	SC68_STAIRS_ACTION,	// actionScript
};

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

uint16 reset_67_68[] = {
	C_SCREEN,
	68,
	C_PLACE,
	ID_SC68_FLOOR,
	C_XCOOD,
	160,
	C_YCOOD,
	280,
	65535,
};

uint16 sc68_mouse_list[] = {
	ID_MEDI,
	ID_SC68_SENSOR,
	ID_SC68_GRILL,
	ID_SC68_DOOR,
	ID_SC68_STAIRS,
	ID_SC68_EXIT,
	ID_SC68_FLOOR,
	0XFFFF,
	ID_TEXT_MOUSE,
};

Compact sc68_floor = {
	0,	// logic
	ST_MOUSE,	// status
	0,	// sync
	68,	// screen
	0,	// place
	sc68_floor_table,	// getToTable
	202,	// xcood
	265,	// ycood
	0,	// frame
	0,	// cursorText
	0,	// mouseOn
	0,	// mouseOff
	ADVISOR_188,	// mouseClick
	0,	// mouseRel_x
	0,	// mouseRel_y
	447-202,	// mouseSize_x
	327-265,	// mouseSize_y
	FLOOR_ACTION,	// actionScript
};

uint16 sc68_joey_list[] = {
	208,
	439,
	272,
	327,
	1,
	208,
	231,
	288,
	303,
	0,
	248,
	303,
	272,
	279,
	0,
	344,
	399,
	272,
	279,
	0,
	0,
};

}; // namespace SkyCompact

#endif