aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Kiehl2003-04-25 15:17:53 +0000
committerOliver Kiehl2003-04-25 15:17:53 +0000
commitc36bdb3e118670cafdde92659db0719438dc8487 (patch)
treefdc98c37f55c5bf02b39ae05e2506468ea734fab
parentda4a76ed04bd197a9527802d4b72556786226f37 (diff)
downloadscummvm-rg350-c36bdb3e118670cafdde92659db0719438dc8487.tar.gz
scummvm-rg350-c36bdb3e118670cafdde92659db0719438dc8487.tar.bz2
scummvm-rg350-c36bdb3e118670cafdde92659db0719438dc8487.zip
Committing my stuff under pressure from Endy ;)
please note that there are still many bugs in here. several stuff isn't endian safe either. SkyLogic needs to get split up as well. svn-id: r7106
-rw-r--r--sky/compact.cpp257
-rw-r--r--sky/compact.h3238
-rw-r--r--sky/debug.cpp418
-rw-r--r--sky/debug.h31
-rw-r--r--sky/logic.cpp1099
-rw-r--r--sky/logic.h181
-rw-r--r--sky/module.mk3
-rw-r--r--sky/sky.cpp44
-rw-r--r--sky/sky.h13
-rw-r--r--sky/skydefs.h4200
-rw-r--r--sky/struc.h121
-rw-r--r--sky/text.cpp8
-rw-r--r--sky/text.h2
13 files changed, 9557 insertions, 58 deletions
diff --git a/sky/compact.cpp b/sky/compact.cpp
new file mode 100644
index 0000000000..4707332f05
--- /dev/null
+++ b/sky/compact.cpp
@@ -0,0 +1,257 @@
+/* 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$
+ *
+ */
+
+#include "sky/compact.h"
+
+#include "sky/compacts/0compact.h"
+#include "sky/compacts/1compact.h"
+#include "sky/compacts/29comp.h"
+#include "sky/compacts/2compact.h"
+#include "sky/compacts/30comp.h"
+#include "sky/compacts/3compact.h"
+#include "sky/compacts/4compact.h"
+#include "sky/compacts/5compact.h"
+#include "sky/compacts/66comp.h"
+#include "sky/compacts/90comp.h"
+#include "sky/compacts/9compact.h"
+#include "sky/compacts/linc_gen.h"
+#include "sky/compacts/lincmenu.h"
+#include "sky/compacts/z_compac.h"
+
+#define COMPACT_SIZE (sizeof(compactOffsets)/sizeof(uint32))
+#define EXTCOMPACT_SIZE (sizeof(extCompactOffsets)/sizeof(uint32))
+#define UNKNOWNSTUFF_SIZE (sizeof(unknownStuffOffsets)/sizeof(uint32))
+
+#define OFFS(type,item) (((uint32)(&((type*)0)->item)))
+#define MK32(type,item) OFFS(type, item),0,0,0
+#define MK16(type,item) OFFS(type, item),0
+
+namespace SkyCompact {
+
+static const uint32 compactOffsets[] = {
+ MK16(Compact, logic),
+ MK16(Compact, status),
+ MK16(Compact, sync),
+ MK16(Compact, screen),
+ MK16(Compact, place),
+ MK32(Compact, getToTable),
+ MK16(Compact, xcood),
+ MK16(Compact, ycood),
+ MK16(Compact, frame),
+ MK16(Compact, cursorText),
+ MK16(Compact, mouseOn),
+ MK16(Compact, mouseOff),
+ MK16(Compact, mouseClick),
+ MK16(Compact, mouseRelX),
+ MK16(Compact, mouseRelY),
+ MK16(Compact, mouseSizeX),
+ MK16(Compact, mouseSizeY),
+ MK16(Compact, actionScript),
+ MK16(Compact, upFlag),
+ MK16(Compact, downFlag),
+ MK16(Compact, getToFlag),
+ MK16(Compact, flag),
+ MK16(Compact, mood),
+ MK32(Compact, grafixProg),
+ MK16(Compact, offset),
+ MK16(Compact, mode),
+ MK16(Compact, baseSub),
+ MK16(Compact, baseSub_off),
+};
+
+static const uint32 extCompactOffsets[] = {
+ MK16(ExtCompact, actionSub),
+ MK16(ExtCompact, actionSub_off),
+ MK16(ExtCompact, getToSub),
+ MK16(ExtCompact, getToSub_off),
+ MK16(ExtCompact, extraSub),
+ MK16(ExtCompact, extraSub_off),
+ MK16(ExtCompact, dir),
+ MK16(ExtCompact, stopScript),
+ MK16(ExtCompact, miniBump),
+ MK16(ExtCompact, leaving),
+ MK16(ExtCompact, atWatch),
+ MK16(ExtCompact, atWas),
+ MK16(ExtCompact, alt),
+ MK16(ExtCompact, request),
+ MK16(ExtCompact, spWidth_xx),
+ MK16(ExtCompact, spColour),
+ MK16(ExtCompact, spTextId),
+ MK16(ExtCompact, spTime),
+ MK16(ExtCompact, arAnimIndex),
+ MK32(ExtCompact, turnProg),
+ MK16(ExtCompact, waitingFor),
+ MK16(ExtCompact, arTargetX),
+ MK16(ExtCompact, arTargetY),
+ MK32(ExtCompact, animScratch),
+ MK16(ExtCompact, megaSet),
+ MK16(ExtCompact, gridWidth),
+ MK16(ExtCompact, colOffset),
+ MK16(ExtCompact, colWidth),
+ MK16(ExtCompact, lastChr),
+ MK32(ExtCompact, animUp),
+ MK32(ExtCompact, animDown),
+ MK32(ExtCompact, animLeft),
+ MK32(ExtCompact, animRight),
+ MK32(ExtCompact, standUp),
+ MK32(ExtCompact, standDown),
+ MK32(ExtCompact, standLeft),
+ MK32(ExtCompact, standRight),
+ MK32(ExtCompact, standTalk),
+};
+
+static const uint32 unknownStuffOffsets[] = {
+ MK16(UnknownStuff, unknownStuff_1_1[0]),
+ MK16(UnknownStuff, unknownStuff_1_1[1]),
+ MK16(UnknownStuff, unknownStuff_1_1[2]),
+ MK16(UnknownStuff, unknownStuff_1_1[3]),
+ MK32(UnknownStuff, unknownStuff_1_2[0]),
+ MK32(UnknownStuff, unknownStuff_1_2[1]),
+ MK32(UnknownStuff, unknownStuff_1_2[2]),
+ MK32(UnknownStuff, unknownStuff_1_2[3]),
+ MK32(UnknownStuff, unknownStuff_1_2[4]),
+ MK32(UnknownStuff, unknownStuff_1_2[5]),
+ MK32(UnknownStuff, unknownStuff_1_2[6]),
+ MK32(UnknownStuff, unknownStuff_1_2[7]),
+ MK32(UnknownStuff, unknownStuff_1_2[8]),
+ MK32(UnknownStuff, unknownStuff_1_2[9]),
+ MK32(UnknownStuff, unknownStuff_1_2[10]),
+ MK32(UnknownStuff, unknownStuff_1_2[11]),
+ MK32(UnknownStuff, unknownStuff_1_2[12]),
+ MK32(UnknownStuff, unknownStuff_1_2[13]),
+ MK32(UnknownStuff, unknownStuff_1_2[14]),
+ MK32(UnknownStuff, unknownStuff_1_2[15]),
+ MK32(UnknownStuff, unknownStuff_1_2[16]),
+ MK32(UnknownStuff, unknownStuff_1_2[17]),
+ MK32(UnknownStuff, unknownStuff_1_2[18]),
+ MK32(UnknownStuff, unknownStuff_1_2[19]),
+ MK32(UnknownStuff, unknownStuff_1_2[20]),
+ MK32(UnknownStuff, unknownStuff_1_2[21]),
+ MK32(UnknownStuff, unknownStuff_1_2[22]),
+ MK32(UnknownStuff, unknownStuff_1_2[23]),
+ MK32(UnknownStuff, unknownStuff_1_2[24]),
+ MK32(UnknownStuff, unknownStuff_1_2[25]),
+ MK32(UnknownStuff, unknownStuff_1_2[26]),
+ MK32(UnknownStuff, unknownStuff_1_2[27]),
+ MK32(UnknownStuff, unknownStuff_1_2[28]),
+ MK32(UnknownStuff, unknownStuff_1_2[29]),
+ MK32(UnknownStuff, unknownStuff_1_2[30]),
+ MK32(UnknownStuff, unknownStuff_1_2[31]),
+ MK32(UnknownStuff, unknownStuff_1_2[32]),
+ MK32(UnknownStuff, unknownStuff_1_2[33]),
+ MK16(UnknownStuff, unknownStuff_2_1[0]),
+ MK16(UnknownStuff, unknownStuff_2_1[1]),
+ MK16(UnknownStuff, unknownStuff_2_1[2]),
+ MK16(UnknownStuff, unknownStuff_2_1[3]),
+ MK32(UnknownStuff, unknownStuff_2_2[0]),
+ MK32(UnknownStuff, unknownStuff_2_2[1]),
+ MK32(UnknownStuff, unknownStuff_2_2[2]),
+ MK32(UnknownStuff, unknownStuff_2_2[3]),
+ MK32(UnknownStuff, unknownStuff_2_2[4]),
+ MK32(UnknownStuff, unknownStuff_2_2[5]),
+ MK32(UnknownStuff, unknownStuff_2_2[6]),
+ MK32(UnknownStuff, unknownStuff_2_2[7]),
+ MK32(UnknownStuff, unknownStuff_2_2[8]),
+ MK32(UnknownStuff, unknownStuff_2_2[9]),
+ MK32(UnknownStuff, unknownStuff_2_2[10]),
+ MK32(UnknownStuff, unknownStuff_2_2[11]),
+ MK32(UnknownStuff, unknownStuff_2_2[12]),
+ MK32(UnknownStuff, unknownStuff_2_2[13]),
+ MK32(UnknownStuff, unknownStuff_2_2[14]),
+ MK32(UnknownStuff, unknownStuff_2_2[15]),
+ MK32(UnknownStuff, unknownStuff_2_2[16]),
+ MK32(UnknownStuff, unknownStuff_2_2[17]),
+ MK32(UnknownStuff, unknownStuff_2_2[18]),
+ MK32(UnknownStuff, unknownStuff_2_2[19]),
+ MK32(UnknownStuff, unknownStuff_2_2[20]),
+ MK32(UnknownStuff, unknownStuff_2_2[21]),
+ MK32(UnknownStuff, unknownStuff_2_2[22]),
+ MK32(UnknownStuff, unknownStuff_2_2[23]),
+ MK32(UnknownStuff, unknownStuff_2_2[24]),
+ MK32(UnknownStuff, unknownStuff_2_2[25]),
+ MK32(UnknownStuff, unknownStuff_2_2[26]),
+ MK32(UnknownStuff, unknownStuff_2_2[27]),
+ MK32(UnknownStuff, unknownStuff_2_2[28]),
+ MK32(UnknownStuff, unknownStuff_2_2[29]),
+ MK32(UnknownStuff, unknownStuff_2_2[30]),
+ MK32(UnknownStuff, unknownStuff_2_2[31]),
+ MK32(UnknownStuff, unknownStuff_2_2[32]),
+ MK32(UnknownStuff, unknownStuff_2_2[33]),
+ MK16(UnknownStuff, unknownStuff_3_1[0]),
+ MK16(UnknownStuff, unknownStuff_3_1[1]),
+ MK16(UnknownStuff, unknownStuff_3_1[2]),
+ MK16(UnknownStuff, unknownStuff_3_1[3]),
+ MK32(UnknownStuff, unknownStuff_3_2[0]),
+ MK32(UnknownStuff, unknownStuff_3_2[1]),
+ MK32(UnknownStuff, unknownStuff_3_2[2]),
+ MK32(UnknownStuff, unknownStuff_3_2[3]),
+ MK32(UnknownStuff, unknownStuff_3_2[4]),
+ MK32(UnknownStuff, unknownStuff_3_2[5]),
+ MK32(UnknownStuff, unknownStuff_3_2[6]),
+ MK32(UnknownStuff, unknownStuff_3_2[7]),
+ MK32(UnknownStuff, unknownStuff_3_2[8]),
+ MK32(UnknownStuff, unknownStuff_3_2[9]),
+ MK32(UnknownStuff, unknownStuff_3_2[10]),
+ MK32(UnknownStuff, unknownStuff_3_2[11]),
+ MK32(UnknownStuff, unknownStuff_3_2[12]),
+ MK32(UnknownStuff, unknownStuff_3_2[13]),
+ MK32(UnknownStuff, unknownStuff_3_2[14]),
+ MK32(UnknownStuff, unknownStuff_3_2[15]),
+ MK32(UnknownStuff, unknownStuff_3_2[16]),
+ MK32(UnknownStuff, unknownStuff_3_2[17]),
+ MK32(UnknownStuff, unknownStuff_3_2[18]),
+ MK32(UnknownStuff, unknownStuff_3_2[19]),
+ MK32(UnknownStuff, unknownStuff_3_2[20]),
+ MK32(UnknownStuff, unknownStuff_3_2[21]),
+ MK32(UnknownStuff, unknownStuff_3_2[22]),
+ MK32(UnknownStuff, unknownStuff_3_2[23]),
+ MK32(UnknownStuff, unknownStuff_3_2[24]),
+ MK32(UnknownStuff, unknownStuff_3_2[25]),
+ MK32(UnknownStuff, unknownStuff_3_2[26]),
+ MK32(UnknownStuff, unknownStuff_3_2[27]),
+ MK32(UnknownStuff, unknownStuff_3_2[28]),
+ MK32(UnknownStuff, unknownStuff_3_2[29]),
+ MK32(UnknownStuff, unknownStuff_3_2[30]),
+ MK32(UnknownStuff, unknownStuff_3_2[31]),
+ MK32(UnknownStuff, unknownStuff_3_2[32]),
+ MK32(UnknownStuff, unknownStuff_3_2[33]),
+};
+
+void *getCompactElem(Compact *cpt, uint32 off) {
+ if (off < COMPACT_SIZE)
+ return((uint8 *)cpt + compactOffsets[off]);
+
+ off -= COMPACT_SIZE;
+ if (off < EXTCOMPACT_SIZE)
+ return((uint8 *)(cpt->extCompact) + extCompactOffsets[off]);
+
+ off -= EXTCOMPACT_SIZE;
+ if (off < 5*5*4)
+ return ((void **)(cpt->turnTable))[off/4];
+
+ off -= 5*5*4;
+ if (off < UNKNOWNSTUFF_SIZE)
+ return((uint8 *)(cpt->unknownStuff) + unknownStuffOffsets[off]);
+
+ error("Offset %X out of bounds of compact", off + COMPACT_SIZE + EXTCOMPACT_SIZE + 5*5*4);
+}
+};
+
diff --git a/sky/compact.h b/sky/compact.h
new file mode 100644
index 0000000000..cfdfcc076f
--- /dev/null
+++ b/sky/compact.h
@@ -0,0 +1,3238 @@
+/* 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 SKYCOMPACT_H
+#define SKYCOMPACT_H
+
+#include "sky/sky.h"
+#include "sky/struc.h"
+#include "sky/skydefs.h"
+
+namespace SkyCompact {
+ void *getCompactElem(Compact *cpt, uint32 off);
+
+ extern uint16 slide2_seq[];
+ extern uint16 m_ss_st_up[];
+ extern uint16 crouch_seq[];
+ extern uint16 fost_open_cup[];
+ extern Compact fan3;
+ extern uint16 ss_smokes_1[];
+ extern Compact fan7;
+ extern uint16 slide_seq[];
+ extern uint16 f_ss_st_right[];
+ extern uint16 f_ss_left[];
+ extern uint16 m_ss_down[];
+ extern uint16 s2_pal[];
+ extern uint16 foster_hanging[];
+ extern Compact fan4;
+ extern uint16 rs_ss_to_1[];
+ extern uint16 rs_foster_to_one[];
+ extern uint16 m_ss_r_to_d[];
+ extern uint16 f_ss_l_to_u[];
+ extern Compact load_point;
+ extern uint16 rs_foster_5_0[];
+ extern uint16 fost_pull_knob[];
+ extern uint16 m_ss_r_to_u[];
+ extern uint16 rs_foster_to_1[];
+ extern uint16 monitor_seq[];
+ extern uint16 joey_door_seq[];
+ extern uint16 small_opens[];
+ extern uint16 fost_knob_locked[];
+ extern uint16 s4_pal[];
+ extern uint16 alarm_seq[];
+ extern uint16 reverse_seq[];
+ extern Compact press;
+ extern uint16 furnace_seq[];
+ extern uint16 load_point_seq[];
+ extern uint16 m_ss_right[];
+ extern uint16 use_bar2[];
+ extern uint16 fost_cant_open[];
+ extern uint16 f_ss_l_to_r[];
+ extern uint16 f_ss_u_to_d[];
+ extern uint16 push_small[];
+ extern uint16 m_ss_l_to_d[];
+ extern uint16 s0_pal[];
+ extern uint16 foster_shot[];
+ extern uint16 lazer_stop_seq[];
+ extern uint16 rs_start_alarm[];
+ extern Compact fan1;
+ extern uint16 f_ss_d_to_u[];
+ extern uint16 ss_smokes_3[];
+ extern uint16 lights1_seq[];
+ extern uint16 eye_open[];
+ extern uint16 press_seq[];
+ extern uint16 cup_close_seq[];
+ extern uint16 low_lift_down_seq1[];
+ extern uint16 barrel_in_seq[];
+ extern uint16 rs_big_foster[];
+ extern uint16 screen0_low_logic[];
+ extern uint16 rs_foster_2_0[];
+ extern uint16 foster_g_d[];
+ extern uint16 fost_but_seq[];
+ extern uint16 jobs_look_scrn[];
+ extern uint16 jobs_chuck_look[];
+ extern uint16 eye_blink[];
+ extern uint16 fan1_seq[];
+ extern uint16 m_ss_st_right[];
+ extern uint16 screen0_low_mouse[];
+ extern uint16 fan7_seq[];
+ extern uint16 f_ss_r_to_d[];
+ extern uint16 r1_opens[];
+ extern uint16 f_ss_u_to_l[];
+ extern uint16 rs_mini_ss[];
+ extern uint16 s3_pal[];
+ extern uint16 ss_smokes_2[];
+ extern uint16 m_ss_up[];
+ extern uint16 m_ss_left[];
+ extern uint16 m_ss_st_down[];
+ extern uint16 m_ss_st_left[];
+ extern uint16 m_ss_st_talk[];
+ extern uint16 m_ss_u_to_d[];
+ extern uint16 m_ss_u_to_l[];
+ extern uint16 m_ss_u_to_r[];
+ extern uint16 m_ss_d_to_u[];
+ extern uint16 m_ss_d_to_l[];
+ extern uint16 m_ss_d_to_r[];
+ extern uint16 m_ss_l_to_u[];
+ extern uint16 m_ss_l_to_r[];
+ extern uint16 m_ss_r_to_l[];
+ extern uint16 *mini_so_turnTable[5][5];
+ extern ExtCompact mini_so_ext;
+ extern Compact mini_so;
+ extern uint16 unload_seq1[];
+ extern uint16 open_r1[];
+ extern uint16 get_bar_out[];
+ extern uint16 fost_close_cup[];
+ extern uint16 barrel_down_seq2[];
+ extern uint16 ss_kick[];
+ extern uint16 f_ss_up[];
+ extern uint16 f_ss_down[];
+ extern uint16 f_ss_right[];
+ extern uint16 f_ss_st_up[];
+ extern uint16 f_ss_st_down[];
+ extern uint16 f_ss_st_left[];
+ extern uint16 f_ss_u_to_r[];
+ extern uint16 f_ss_d_to_l[];
+ extern uint16 f_ss_d_to_r[];
+ extern uint16 f_ss_l_to_d[];
+ extern uint16 f_ss_r_to_u[];
+ extern uint16 f_ss_r_to_l[];
+ extern uint16 *full_so_turnTable[5][5];
+ extern ExtCompact full_so_ext;
+ extern Compact full_so;
+ extern uint16 panel_seq[];
+ extern uint16 chip_list_0[];
+ extern uint16 use_the_bar[];
+ extern uint16 small_closes[];
+ extern uint16 jobs_buttons[];
+ extern uint16 up_stairs[];
+ extern uint16 chuck_seq[];
+ extern uint16 rs_foster_to_0[];
+ extern Compact fire_notice;
+ extern uint16 screen0_high_mouse[];
+ extern uint16 foster_g_up[];
+ extern uint16 rs_foster_s3[];
+ extern uint16 rs_mini_foster[];
+ extern uint16 bolt1_seq[];
+ extern uint16 rs_foster_4_2[];
+ extern uint16 screen0_high_logic[];
+ extern uint16 fan6_seq[];
+ extern uint16 fexit_opens[];
+ extern uint16 fost_push_knob[];
+ extern uint16 lazer_run_seq[];
+ extern uint16 try_to_open_r0[];
+ extern uint16 fast_list_cut2[];
+ extern uint16 knob_down[];
+ extern uint16 chip_list_sc0[];
+ extern uint16 sc0_cut_logic[];
+ extern Compact lazer_gun;
+ extern uint16 up_stairs2[];
+ extern uint16 barrel_down_seq[];
+ extern uint16 daft_seq[];
+ extern uint16 down_stairs2[];
+ extern uint16 joey_jump_seq[];
+ extern uint16 fost_lean_seq[];
+ extern uint16 joey_wake_seq[];
+ extern uint16 low_lift_down_seq2[];
+ extern uint16 lazer_start_seq[];
+ extern uint16 get_the_bar[];
+ extern uint16 fan4_seq[];
+ extern uint16 tv_seq[];
+ extern uint16 bolt2_seq[];
+ extern Compact fan6;
+ extern uint16 jobs_pull_knob[];
+ extern uint16 convey_seq[];
+ extern uint16 fan5_seq[];
+ extern uint16 guard_lean_out[];
+ extern uint16 put_bar_away[];
+ extern uint16 fan3_seq[];
+ extern uint16 s1_pal[];
+ extern uint16 eye_shoot[];
+ extern uint16 furnace_door_open[];
+ extern uint16 ss_smokes_4[];
+ extern Compact fan5;
+ extern uint16 jobs_close[];
+ extern uint16 cup_open_seq[];
+ extern uint16 guard_lean_back[];
+ extern uint16 ss_kick_2[];
+ extern uint16 shot1_seq[];
+ extern uint16 fexit_closes[];
+ extern uint16 low_lift_down_seq3[];
+ extern uint16 rs_restart_barrel[];
+ extern uint16 open_r0[];
+ extern uint16 rs_foster_2_4[];
+ extern uint16 ss_shoot_seq[];
+ extern uint16 shut_r1[];
+ extern uint16 down_stairs[];
+ extern uint16 barrel_seq[];
+ extern uint16 jobs_scratch[];
+ extern uint16 unload_seq2[];
+ extern uint16 rs_foster_0_2[];
+ extern uint16 r1_closes[];
+ extern uint16 rs_convey[];
+ extern uint16 jobs_push_knob[];
+ extern uint16 knob_up[];
+ extern uint16 crouch_talk[];
+ extern uint16 shot2_seq[];
+ extern uint16 joey_fly2[];
+ extern uint16 jobs_key_seq[];
+ extern uint16 rs_mega_2_0[];
+ extern uint16 uncrouch_seq[];
+ extern uint16 fost_must_close[];
+ extern uint16 joey_fly1[];
+ extern uint16 lazer_gun_seq[];
+ extern uint16 rs_mega_0_2[];
+ extern Compact fan2;
+ extern uint16 fan2_seq[];
+ extern void *data_1[];
+ extern Compact cancel_button;
+ extern Compact button_4;
+ extern Compact full_screen;
+ extern Compact button_5;
+ extern uint16 s101_logic[];
+ extern Compact button_7;
+ extern uint16 s101_mouse[];
+ extern Compact button_1;
+ extern uint16 s101_pal[];
+ extern Compact button_0;
+ extern Compact button_9;
+ extern Compact button_8;
+ extern Compact retina_scan;
+ extern Compact button_6;
+ extern Compact button_3;
+ extern Compact button_2;
+ extern uint16 s101_chip_list[];
+ extern uint16 restore_seq[];
+ extern Compact restore_butt;
+ extern uint16 s102_logic[];
+ extern uint16 exit_seq[];
+ extern uint16 restart_seq[];
+ extern uint16 s102_mouse[];
+ extern Compact exit_butt;
+ extern uint16 s102_pal[];
+ extern uint16 s102_chip_list[];
+ extern Compact restart_butt;
+ extern uint16 liyt_4_seq[];
+ extern uint16 litebank_seq[];
+ extern uint16 rs_foster_from_linc[];
+ extern uint16 stand_10_seq[];
+ extern uint16 pod_up[];
+ extern uint16 rs_foster_11_10[];
+ extern uint16 lift_10_close[];
+ extern uint16 s10_floor_table[];
+ extern uint16 monitor_10_seq[];
+ extern uint16 sit_10_seq[];
+ extern Compact lift_slot_10;
+ extern uint16 scanline_seq[];
+ extern Compact s10_floor;
+ extern uint16 rs_foster_10_11[];
+ extern Compact terminal_10;
+ extern uint16 linc_card_seq[];
+ extern uint16 liyt_1_seq[];
+ extern uint16 fsit_talk_seq[];
+ extern Compact scanner_10;
+ extern Compact pod_light;
+ extern Compact pod;
+ extern Compact fake_floor_10;
+ extern uint16 lift_10_open[];
+ extern uint16 linc_10_table[];
+ extern Compact linc_10;
+ extern uint16 s10_logic[];
+ extern uint16 liyt_2_seq[];
+ extern uint16 s10_chip_list[];
+ extern uint16 pod_down[];
+ extern Compact monitor_10;
+ extern uint16 liyt_3_seq[];
+ extern Compact lift_10;
+ extern Compact litebank;
+ extern uint16 pod_light_seq[];
+ extern uint16 card2_seq[];
+ extern Compact liyt_3;
+ extern Compact liyt_2;
+ extern uint16 s10_pal[];
+ extern uint16 s10_mouse[];
+ extern Compact liyt_4;
+ extern Compact left_exit_10;
+ extern Compact liyt_1;
+ extern Compact slat_3;
+ extern uint16 fallin_seq[];
+ extern uint16 s11_mouse[];
+ extern uint16 s11_pal[];
+ extern Compact locker_11;
+ extern uint16 locker_11_open[];
+ extern uint16 bits2_seq[];
+ extern Compact soccer_2;
+ extern uint16 usecard_11_seq[];
+ extern Compact bits;
+ extern Compact cable_fall;
+ extern Compact soccer_4;
+ extern uint16 s11_floor_table[];
+ extern Compact soccer_1;
+ extern uint16 rs_foster_1_11[];
+ extern uint16 s11_logic[];
+ extern uint16 close_11_locker[];
+ extern uint16 s11_chip_list[];
+ extern Compact slat_1;
+ extern uint16 locker_11_close[];
+ extern Compact bits2;
+ extern Compact slot_11;
+ extern uint16 bits_seq[];
+ extern Compact slat_4;
+ extern uint16 fallin2_seq[];
+ extern uint16 smashed_window_seq[];
+ extern Compact spy_11;
+ extern Compact soccer_3;
+ extern uint16 cable_fall1_seq[];
+ extern Compact cable_fall2;
+ extern Compact right_exit_11;
+ extern Compact smashed_window;
+ extern Compact soccer_5;
+ extern uint16 open_11_locker[];
+ extern Compact slat_2;
+ extern uint16 fallin3_seq[];
+ extern Compact s11_floor;
+ extern uint16 get_cable_11[];
+ extern uint16 cant_open_locker[];
+ extern Compact slat_5;
+ extern uint16 cable_fall2_seq[];
+ extern uint16 botbelt_seq[];
+ extern uint16 s12_floor_table[];
+ extern uint16 swap1_seq[];
+ extern uint16 rs_joey_start_12[];
+ extern uint16 rs_lamb_start_fact[];
+ extern uint16 welder_seq[];
+ extern uint16 rs_foster_7_12[];
+ extern uint16 factory_spanner_seq[];
+ extern uint16 pipes_seq[];
+ extern uint16 swap3_seq[];
+ extern Compact fact1_right_exit;
+ extern Compact pipes;
+ extern Compact botbelt;
+ extern uint16 joey_list_12[];
+ extern Compact welder;
+ extern Compact factory_exit;
+ extern uint16 s12_pal[];
+ extern uint16 cant_lift_seq[];
+ extern Compact topbelt;
+ extern uint16 s12_fast_list[];
+ extern uint16 s12_new_chip[];
+ extern Compact console_12;
+ extern uint16 anita_walk_seq[];
+ extern uint16 anita_work_seq[];
+ extern uint16 anita_turn_seq[];
+ extern uint16 anita_turn_back[];
+ extern uint16 rs_foster_12_7[];
+ extern uint16 s12_mouse[];
+ extern uint16 s12_chip_list[];
+ extern Compact stump;
+ extern uint16 swap2_seq[];
+ extern Compact anita_spy;
+ extern Compact s12_floor;
+ extern uint16 s12_logic[];
+ extern uint16 topbelt_seq[];
+ extern uint16 foreman_l_to_r[];
+ extern uint16 rs_foster[];
+ extern uint16 gears_seq[];
+ extern Compact fact2_exit_left;
+ extern Compact fact_console;
+ extern Compact pipe1;
+ extern uint16 lite1_table[];
+ extern Compact sensor;
+ extern uint16 foreman_l_to_d[];
+ extern uint16 foreman_st_up[];
+ extern uint16 foreman_work_seq[];
+ extern uint16 nu_s13_chip[];
+ extern uint16 rs_storeman[];
+ extern uint16 foreman_left[];
+ extern uint16 closecoat[];
+ extern uint16 pipe1_seq[];
+ extern uint16 foreman_r_to_l[];
+ extern Compact fact2_exit_right;
+ extern uint16 foreman_l_to_u[];
+ extern Compact lite1;
+ extern uint16 s13_floor_table[];
+ extern uint16 fsearch_seq[];
+ extern Compact fact2_store_exit;
+ extern Compact pipe4;
+ extern uint16 foreman_u_to_d[];
+ extern uint16 foreman_right[];
+ extern uint16 belts2_seq[];
+ extern uint16 forfrisk_seq[];
+ extern uint16 rs_foreman[];
+ extern uint16 pipe2_seq[];
+ extern uint16 rs_foster_13_12[];
+ extern Compact s13_floor;
+ extern Compact cogs;
+ extern uint16 foreman_r_to_u[];
+ extern Compact belts2;
+ extern uint16 foreman_d_to_l[];
+ extern uint16 s13_chip_list[];
+ extern uint16 foreman_st_talk[];
+ extern uint16 fact_console_dead[];
+ extern uint16 foreman_st_down[];
+ extern Compact lite2;
+ extern Compact gears;
+ extern uint16 fost_cog_seq[];
+ extern uint16 cogs_seq[];
+ extern Compact pipe3;
+ extern uint16 lite2_seq[];
+ extern Compact belts1;
+ extern uint16 s13_logic[];
+ extern uint16 s13_mouse[];
+ extern Compact sensors;
+ extern uint16 fact_console_seq[];
+ extern uint16 foreman_down[];
+ extern uint16 foreman_up[];
+ extern uint16 foreman_st_left[];
+ extern uint16 foreman_st_right[];
+ extern uint16 foreman_u_to_l[];
+ extern uint16 foreman_u_to_r[];
+ extern uint16 foreman_d_to_u[];
+ extern uint16 foreman_d_to_r[];
+ extern uint16 foreman_r_to_d[];
+ extern uint16 *foreman_turnTable[5][5];
+ extern ExtCompact foreman_ext;
+ extern Compact foreman;
+ extern uint16 lite1_seq[];
+ extern uint16 pipe3_seq[];
+ extern uint16 opencoat_seq[];
+ extern uint16 sensor_seq[];
+ extern Compact fact2_spy_and_window;
+ extern uint16 belts1_seq[];
+ extern Compact pipe2;
+ extern uint16 s13_pal[];
+ extern uint16 new_13_chip[];
+ extern uint16 rs_foster_12_13[];
+ extern uint16 s13_fast_list[];
+ extern uint16 pipe4_seq[];
+ extern uint16 armsup_seq[];
+ extern uint16 rs_foster_14_13[];
+ extern uint16 rs_foster_13_14[];
+ extern uint16 radman_l_to_r[];
+ extern uint16 radman_up[];
+ extern uint16 radman_down[];
+ extern uint16 radman_left[];
+ extern uint16 radman_right[];
+ extern uint16 radman_st_up[];
+ extern uint16 radman_st_down[];
+ extern uint16 radman_st_left[];
+ extern uint16 radman_st_right[];
+ extern uint16 radman_st_talk[];
+ extern uint16 radman_u_to_d[];
+ extern uint16 radman_u_to_l[];
+ extern uint16 radman_u_to_r[];
+ extern uint16 radman_d_to_u[];
+ extern uint16 radman_d_to_l[];
+ extern uint16 radman_d_to_r[];
+ extern uint16 radman_l_to_u[];
+ extern uint16 radman_l_to_d[];
+ extern uint16 radman_r_to_u[];
+ extern uint16 radman_r_to_d[];
+ extern uint16 radman_r_to_l[];
+ extern uint16 *radman_turnTable[5][5];
+ extern ExtCompact radman_ext;
+ extern Compact radman;
+ extern Compact locker2;
+ extern uint16 start_joey_14[];
+ extern Compact fact3_exit_left;
+ extern uint16 rs_anita_to_14[];
+ extern uint16 s14_logic[];
+ extern uint16 close_locker_seq[];
+ extern uint16 locker_close_seq[];
+ extern uint16 s14_floor_table[];
+ extern Compact s14_floor;
+ extern uint16 rad_open_locker[];
+ extern uint16 change_back6[];
+ extern uint16 change1_seq[];
+ extern uint16 change_back3[];
+ extern uint16 rs_foster_16_14[];
+ extern Compact console_14;
+ extern uint16 s14_pal[];
+ extern uint16 change3_seq[];
+ extern uint16 change_back4[];
+ extern uint16 open_locker_seq[];
+ extern uint16 change4_seq[];
+ extern uint16 foster_give_seq[];
+ extern Compact locker3;
+ extern Compact rad_screen;
+ extern uint16 change5_seq[];
+ extern Compact locker1;
+ extern Compact coat;
+ extern uint16 change_back5[];
+ extern Compact machine;
+ extern uint16 anita_give_seq[];
+ extern uint16 s14_fast_list[];
+ extern Compact fact3_exit_right;
+ extern uint16 joey_list_14[];
+ extern uint16 rad_close_locker[];
+ extern uint16 locker_open_seq[];
+ extern uint16 s14_mouse[];
+ extern uint16 s14_chip_list[];
+ extern uint16 change_back2[];
+ extern uint16 change2_seq[];
+ extern uint16 change_back1[];
+ extern uint16 change6_seq[];
+ extern uint16 rs_foster_13_15[];
+ extern Compact flap;
+ extern uint16 weld_seq[];
+ extern uint16 rs_foster_15_13[];
+ extern Compact whole_floor;
+ extern uint16 s15_logic[];
+ extern uint16 flap_seq[];
+ extern uint16 s15_floor_table[];
+ extern Compact s15_flooor;
+ extern uint16 flip_seq[];
+ extern Compact skey;
+ extern uint16 s15_pal[];
+ extern Compact wd40;
+ extern Compact junction_box;
+ extern uint16 rs_joey_15_13[];
+ extern Compact store_exit;
+ extern uint16 s15_fast_list[];
+ extern Compact nu_floor;
+ extern Compact floor_putty;
+ extern uint16 s15_mouse[];
+ extern uint16 joey_list_15[];
+ extern uint16 get_putty_seq[];
+ extern uint16 shelf_get_seq[];
+ extern uint16 s15_fake_mouse[];
+ extern uint16 s15_chip_list[];
+ extern Compact reactor_lower;
+ extern uint16 foster2_die_seq[];
+ extern Compact reactor_console;
+ extern uint16 s16_fast_list[];
+ extern Compact entrance_exit;
+ extern uint16 console_16_seq[];
+ extern uint16 s16_floor_table[];
+ extern Compact s16_floor;
+ extern uint16 s16_pal[];
+ extern uint16 s16_chip_list[];
+ extern uint16 rad_con_look[];
+ extern uint16 s16_logic[];
+ extern uint16 foster_die_seq[];
+ extern Compact reactor_door;
+ extern uint16 s16_mouse[];
+ extern uint16 rs_foster_14_16[];
+ extern uint16 fost_con_look[];
+ extern uint16 pulseb_seq[];
+ extern uint16 s17_floor_table[];
+ extern Compact s17_floor;
+ extern uint16 get_card_seq[];
+ extern Compact core_exit;
+ extern uint16 rs_foster_17_16[];
+ extern uint16 s17_chip_list[];
+ extern uint16 s17_pal[];
+ extern uint16 s17_mouse[];
+ extern Compact pulseb;
+ extern uint16 s17_fast_list[];
+ extern uint16 pulse_seq[];
+ extern Compact anita_card;
+ extern uint16 rs_foster_16_17[];
+ extern uint16 s17_logic[];
+ extern Compact pulse;
+ extern uint16 steam_alert_seq[];
+ extern uint16 sleep_seq[];
+ extern Compact power_door;
+ extern uint16 steam1_seq[];
+ extern uint16 unpush_but_seq[];
+ extern Compact right_lever;
+ extern uint16 steam2_seq[];
+ extern uint16 blowoff_seq[];
+ extern uint16 s18_mouse[];
+ extern uint16 power_start_seq[];
+ extern Compact power_switch;
+ extern uint16 power_stop_seq[];
+ extern uint16 s18_floor_table[];
+ extern Compact s18_floor;
+ extern uint16 joey_list_s18[];
+ extern uint16 nu_chip_18[];
+ extern Compact power_chair;
+ extern uint16 steam3_seq[];
+ extern Compact left_skull;
+ extern uint16 rs_gordon_end[];
+ extern Compact right_skull;
+ extern uint16 power_spin_seq[];
+ extern uint16 s18_fast_list[];
+ extern uint16 steam4_seq[];
+ extern Compact steam;
+ extern Compact socket;
+ extern Compact power_motor;
+ extern uint16 joey_unpush_seq[];
+ extern uint16 high_push_seq[];
+ extern Compact left_lever;
+ extern uint16 s18_pal[];
+ extern uint16 rs_foster_to_18[];
+ extern uint16 power_bang_seq[];
+ extern uint16 s18_logic[];
+ extern uint16 high_unpush_seq[];
+ extern uint16 s18_chip_list[];
+ extern Compact power_bang;
+ extern uint16 push_but_seq[];
+ extern uint16 door_blast_seq[];
+ extern uint16 rs_gordon_start[];
+ extern uint16 monhit_seq[];
+ extern uint16 spanner_seq[];
+ extern uint16 joey_push_seq[];
+ extern Compact right_exit_s18;
+ extern uint16 rs_foster_19_28[];
+ extern uint16 s19_mouse[];
+ extern uint16 s19_floor_table[];
+ extern Compact s19_floor;
+ extern uint16 rs_28_sml_19[];
+ extern uint16 s19_logic[];
+ extern Compact right_exit_19;
+ extern ExtCompact useless_char_ext;
+ extern Compact useless_char;
+ extern Compact left_exit_19;
+ extern uint16 joey_list_s19[];
+ extern uint16 rs_foster_28_19[];
+ extern Compact top_right_19;
+ extern uint16 s19_pal[];
+ extern uint16 s19_chip_list[];
+ extern uint16 s19_fast_list[];
+ extern uint16 car_down_seq[];
+ extern uint16 car_up_seq[];
+ extern uint16 smoke1_seq[];
+ extern uint16 screen1_logic[];
+ extern uint16 fast_list_cut[];
+ extern uint16 lfan2_seq[];
+ extern Compact smoke2;
+ extern Compact lfan2;
+ extern uint16 lfan1_seq[];
+ extern uint16 smoke2_seq[];
+ extern Compact car_down;
+ extern uint16 fire2_seq[];
+ extern Compact smoke1;
+ extern uint16 fast_list_sc1[];
+ extern Compact fire_notice2;
+ extern Compact car_up;
+ extern Compact fire1;
+ extern Compact ss_sign;
+ extern Compact lfan1;
+ extern uint16 chip_list_1[];
+ extern uint16 sc1_mouse[];
+ extern Compact fire2;
+ extern uint16 fire1_seq[];
+ extern uint16 gal_look_up[];
+ extern uint16 rs_joey_start_20[];
+ extern uint16 s20_pal[];
+ extern Compact lamb_door_20;
+ extern Compact reich_window;
+ extern uint16 usecard_seq[];
+ extern uint16 s20_chip_list[];
+ extern Compact down_exit_20;
+ extern uint16 s20_fast_list[];
+ extern uint16 rs_all_28_20[];
+ extern uint16 s20_floor_table[];
+ extern Compact s20_floor;
+ extern uint16 lamb_20_open[];
+ extern Compact lamb_window;
+ extern uint16 gal_look_down[];
+ extern Compact lamb_slot;
+ extern uint16 lamb_20_close[];
+ extern Compact shrub_3;
+ extern uint16 reich_20_close[];
+ extern Compact reich_slot;
+ extern Compact shrub_2;
+ extern uint16 joey_list_20[];
+ extern uint16 reich_20_open[];
+ extern Compact shrub_1;
+ extern uint16 s20_logic[];
+ extern uint16 lamb_card_seq2[];
+ extern Compact reich_door_20;
+ extern uint16 rs_foster_20_28[];
+ extern ExtCompact gallager_bel_ext;
+ extern Compact gallager_bel;
+ extern uint16 s20_mouse[];
+ extern uint16 lamb_sit_up[];
+ extern uint16 s21_logic[];
+ extern uint16 cat1_seq[];
+ extern uint16 rs_foster_21_20[];
+ extern uint16 inner_lamb_close[];
+ extern uint16 push_dispensor[];
+ extern uint16 s21_floor_table[];
+ extern Compact s21_floor;
+ extern uint16 s21_chip_list[];
+ extern uint16 lamb_sit_seq[];
+ extern Compact cat_food;
+ extern Compact video;
+ extern Compact video_screen;
+ extern uint16 rs_foster_20_21[];
+ extern uint16 cat4_seq[];
+ extern uint16 video_out[];
+ extern uint16 inner_lamb_open[];
+ extern uint16 s21_mouse[];
+ extern uint16 video_in[];
+ extern Compact lambs_books;
+ extern uint16 cat_walk_seq[];
+ extern Compact big_pict1;
+ extern Compact lambs_chair;
+ extern uint16 put_video_in[];
+ extern uint16 watch_film[];
+ extern Compact cat;
+ extern Compact big_pict3;
+ extern uint16 cat3_seq[];
+ extern uint16 s21_fast_list[];
+ extern uint16 bend_down[];
+ extern uint16 take_video_out[];
+ extern Compact big_pict2;
+ extern uint16 cat_food_seq[];
+ extern Compact left_exit_21;
+ extern Compact inner_lamb_door;
+ extern Compact fake_floor_21;
+ extern uint16 cat_eat_seq[];
+ extern uint16 more_cassette_seq[];
+ extern Compact cassette;
+ extern uint16 s21_pal[];
+ extern Compact dispensor;
+ extern uint16 cat2_seq[];
+ extern uint16 take_cassette_seq[];
+ extern uint16 fost_replace_pill[];
+ extern uint16 rs_foster_20_22[];
+ extern Compact reich_picture;
+ extern Compact inner_reich_door;
+ extern uint16 rs_foster_22_20[];
+ extern uint16 fost_remove_pill[];
+ extern uint16 inner_reich_open[];
+ extern uint16 rs_magazine[];
+ extern uint16 remove_pillow[];
+ extern uint16 s22_floor_table[];
+ extern Compact pillow;
+ extern uint16 inner_reich_close[];
+ extern Compact lamb_bed;
+ extern uint16 replace_pillow[];
+ extern uint16 get_magazine_seq[];
+ extern uint16 tank3_seq[];
+ extern uint16 tank2_seq[];
+ extern Compact s22_floor;
+ extern Compact right_exit_22;
+ extern Compact reich_chair;
+ extern uint16 s22_mouse[];
+ extern Compact fish_tank;
+ extern Compact fake_floor_22;
+ extern uint16 s22_fast_list[];
+ extern uint16 s22_logic[];
+ extern uint16 s22_chip_list[];
+ extern Compact magazine;
+ extern uint16 fish_seq[];
+ extern Compact cert;
+ extern uint16 s22_pal[];
+ extern Compact cabinet;
+ extern Compact lamb_tv;
+ extern Compact fish_food;
+ extern Compact fish_poster;
+ extern Compact link_23;
+ extern uint16 s23_chip_list[];
+ extern Compact sculpture;
+ extern Compact wreck_23;
+ extern Compact anchor_exit_23;
+ extern Compact bin_23;
+ extern uint16 s23_pal[];
+ extern uint16 s23_logic[];
+ extern uint16 s23_mouse[];
+ extern Compact small_exit_23;
+ extern Compact travel_exit_23;
+ extern uint16 s23_fast_list[];
+ extern Compact left_exit_23;
+ extern uint16 s23_floor_table[];
+ extern Compact s23_floor;
+ extern uint16 rs_foster_29_23[];
+ extern uint16 give_mag_seq[];
+ extern uint16 trev_read_mag[];
+ extern uint16 s24_floor_table[];
+ extern Compact s24_floor;
+ extern uint16 mag_away[];
+ extern Compact left_exit_24;
+ extern Compact mural;
+ extern uint16 trevor_relax[];
+ extern uint16 rs_foster_23_24[];
+ extern uint16 s24_mouse[];
+ extern uint16 trevor_unrelax[];
+ extern Compact pidgeons;
+ extern uint16 trev_get_mag[];
+ extern uint16 s24_chip_list[];
+ extern uint16 rs_foster_24_23[];
+ extern uint16 mag_back_seq[];
+ extern uint16 push_globe[];
+ extern uint16 s24_pal[];
+ extern uint16 joey_list_s24[];
+ extern uint16 mag_out[];
+ extern uint16 trev_turn_page[];
+ extern ExtCompact trevor_ext;
+ extern Compact trevor;
+ extern Compact ticket;
+ extern Compact new_york_poster;
+ extern Compact london_poster;
+ extern uint16 get_ticket[];
+ extern uint16 s24_logic[];
+ extern uint16 globe_spin[];
+ extern uint16 ticket_seq[];
+ extern Compact globe;
+ extern uint16 trevor_scratch[];
+ extern uint16 s24_fast_list[];
+ extern Compact sales_chart;
+ extern uint16 hook_seq[];
+ extern uint16 s25_pal[];
+ extern Compact statue_25;
+ extern Compact anchor_exit_25;
+ extern uint16 spark_25_seq[];
+ extern uint16 rs_foster_23_25[];
+ extern ExtCompact anchor_ext;
+ extern Compact anchor;
+ extern uint16 s25_chip_list[];
+ extern uint16 lazer_25_seq[];
+ extern uint16 s25_fast_list[];
+ extern uint16 anchor_leave_seq[];
+ extern uint16 joey_list_s25[];
+ extern uint16 rs_foster_25_23[];
+ extern uint16 s25_mouse[];
+ extern uint16 s25_logic[];
+ extern uint16 anchor_seq[];
+ extern uint16 anchor_return_seq[];
+ extern Compact hook;
+ extern Compact spark_25;
+ extern Compact lazer_25;
+ extern uint16 s25_floor_table[];
+ extern uint16 get_anchor_seq[];
+ extern Compact s25_floor;
+ extern Compact bio_door;
+ extern Compact plant_26;
+ extern uint16 s26_floor_table[];
+ extern uint16 s26_mouse[];
+ extern uint16 s26_pal[];
+ extern uint16 helga_awake[];
+ extern Compact right_exit_26;
+ extern uint16 wobble2[];
+ extern uint16 helga_byeee[];
+ extern Compact left_exit_26;
+ extern uint16 rs_joey_start_26[];
+ extern uint16 bio_door_open[];
+ extern uint16 wobble1[];
+ extern ExtCompact holo_ext;
+ extern Compact holo;
+ extern Compact poster2;
+ extern uint16 s26_fast_list[];
+ extern uint16 joey_list_s26[];
+ extern uint16 return_leaflet[];
+ extern uint16 rs_foster_19_26[];
+ extern uint16 get_leaflet[];
+ extern Compact poster3;
+ extern Compact leaflet;
+ extern uint16 s26_chip_list[];
+ extern uint16 rs_foster_26_19[];
+ extern Compact poster4;
+ extern uint16 s26_logic[];
+ extern Compact poster1;
+ extern Compact s26_floor;
+ extern uint16 s27_logic[];
+ extern uint16 scan_27_seq[];
+ extern uint16 body_table[];
+ extern uint16 glass_scan[];
+ extern uint16 put_glass_seq[];
+ extern uint16 burke_u_to_d[];
+ extern uint16 burke_l_to_u[];
+ extern Compact helmet_cole;
+ extern uint16 rs_foster_27_26[];
+ extern uint16 burke_d_to_u[];
+ extern uint16 burke_st_talk[];
+ extern uint16 out_chair_seq[];
+ extern uint16 burke_st_right[];
+ extern uint16 burke_u_to_l[];
+ extern uint16 hand_op_seq[];
+ extern uint16 helmet_up[];
+ extern uint16 hand_in_seq[];
+ extern uint16 burke_r_to_u[];
+ extern uint16 burke_left[];
+ extern uint16 burke_st_up[];
+ extern uint16 burke_st_left[];
+ extern uint16 chair_table[];
+ extern Compact gas;
+ extern uint16 lung_seq[];
+ extern uint16 burke_l_to_r[];
+ extern uint16 glass_slot_open[];
+ extern ExtCompact body_ext;
+ extern Compact body;
+ extern uint16 glove_off_seq[];
+ extern uint16 rs_small_burke[];
+ extern uint16 burke_d_to_l[];
+ extern uint16 rs_foster_26_27[];
+ extern uint16 burke_up[];
+ extern uint16 operate_seq[];
+ extern uint16 s27_floor_table[];
+ extern uint16 helmet_down[];
+ extern uint16 squirm_seq[];
+ extern uint16 burke_r_to_d[];
+ extern uint16 glove_on_seq[];
+ extern Compact chart2;
+ extern uint16 burke_r_to_l[];
+ extern Compact chart1;
+ extern uint16 rs_big_burke[];
+ extern uint16 burke_down[];
+ extern uint16 medi_comp_seq[];
+ extern uint16 helmet_op_seq[];
+ extern uint16 gas_seq[];
+ extern uint16 burke_l_to_d[];
+ extern uint16 glass_slot_close[];
+ extern uint16 s27_mouse[];
+ extern uint16 burke_right[];
+ extern uint16 burke_st_down[];
+ extern uint16 burke_u_to_r[];
+ extern uint16 burke_d_to_r[];
+ extern uint16 *burke_turnTable[5][5];
+ extern ExtCompact burke_ext;
+ extern Compact burke;
+ extern uint16 shake_seq[];
+ extern uint16 hands_out_seq[];
+ extern uint16 s27_pal[];
+ extern uint16 s27_fast_list[];
+ extern Compact medi_comp;
+ extern Compact glass_slot;
+ extern uint16 in_chair_seq[];
+ extern uint16 s27_chip_list[];
+ extern uint16 kidney_seq[];
+ extern Compact scanner_27;
+ extern Compact s27_floor;
+ extern uint16 fprint_seq[];
+ extern Compact right_exit_27;
+ extern Compact chair_27;
+ extern uint16 s28_chip_list[];
+ extern uint16 s28_floor_table[];
+ extern uint16 s28_sml_table[];
+ extern Compact s28_sml_floor;
+ extern uint16 slot_28_anim[];
+ extern Compact left_exit_28;
+ extern uint16 rs_foster_28_29[];
+ extern Compact s28_floor;
+ extern uint16 s28_logic[];
+ extern Compact small_r_28;
+ extern uint16 s28_pal[];
+ extern Compact up_exit_28;
+ extern Compact dustbin_28;
+ extern uint16 rs_31_28[];
+ extern Compact slot_28;
+ extern uint16 s28_mouse[];
+ extern uint16 lift_28_close[];
+ extern uint16 lift_28_open[];
+ extern Compact right_exit_28;
+ extern uint16 rs_lamb_28[];
+ extern uint16 rs_foster_29_28[];
+ extern uint16 s28_sml_mouse[];
+ extern Compact lift_28;
+ extern Compact small_l_28;
+ extern uint16 rs_joey_7_29[];
+ extern uint16 s29_floor_table[];
+ extern Compact s29_floor;
+ extern uint16 card_slot_29_anim[];
+ extern uint16 s29_lift_open[];
+ extern uint16 rs_19_sml_28[];
+ extern uint16 sml_joey_list_28[];
+ extern Compact s29_card_slot;
+ extern uint16 s29_sml_mouse[];
+ extern uint16 s29_logic[];
+ extern uint16 s29_pal[];
+ extern Compact small_l_29;
+ extern uint16 rs_foster_7_29[];
+ extern uint16 rs_28_sml_29[];
+ extern uint16 s29_chip_list[];
+ extern uint16 s29_lift_close[];
+ extern uint16 rs_29_sml_23[];
+ extern uint16 rs_lamb_start_bel[];
+ extern uint16 s29_mouse[];
+ extern Compact lift_29;
+ extern Compact lift29_light;
+ extern uint16 joey_list_s29[];
+ extern Compact right_exit_29;
+ extern uint16 rs_foster_23_29[];
+ extern Compact left_exit_29;
+ extern uint16 lamb_card_29[];
+ extern Compact cable_29;
+ extern uint16 get_cable_29_seq[];
+ extern Compact small_r_29;
+ extern uint16 s29_sml_table[];
+ extern Compact s29_sml_floor;
+ extern uint16 rs_23_sml_29[];
+ extern uint16 rs_29_sml_28[];
+ extern uint16 sml_joey_list_29[];
+ extern void *data_3[];
+ extern uint16 sml_loaderb_l_to_u[];
+ extern uint16 joey_list_s2[];
+ extern uint16 sml_loader_u_to_l[];
+ extern uint16 loader_right[];
+ extern uint16 loaderb_st_left[];
+ extern uint16 loader_r_to_d[];
+ extern uint16 loader_st_down[];
+ extern uint16 sml_loaderb_l_to_r[];
+ extern uint16 loaderb_st_down[];
+ extern uint16 sml_loaderb_r_to_u[];
+ extern uint16 sml_loaderb_st_up[];
+ extern uint16 loaderb_d_to_l[];
+ extern uint16 sml_loaderb_st_right[];
+ extern uint16 sml_loader_r_to_l[];
+ extern uint16 sml_loader_r_to_u[];
+ extern uint16 sml_loader_st_down[];
+ extern uint16 loader_l_to_r[];
+ extern uint16 sml_loaderb_d_to_l[];
+ extern uint16 loaderb_r_to_u[];
+ extern uint16 loader_left[];
+ extern uint16 loaderb_right[];
+ extern uint16 loaderb_r_to_d[];
+ extern uint16 loader_d_to_u[];
+ extern uint16 sml_loaderb_st_down[];
+ extern uint16 sml_loaderb_up[];
+ extern uint16 sml_loader_d_to_r[];
+ extern uint16 loader_st_up[];
+ extern Compact right_exit_rm2;
+ extern uint16 sml_loaderb_right[];
+ extern uint16 loader_u_to_l[];
+ extern uint16 sml_loader_st_right[];
+ extern Compact panel;
+ extern Compact alarm_flash;
+ extern uint16 loader_st_right[];
+ extern uint16 sml_loader_l_to_u[];
+ extern uint16 loaderb_u_to_r[];
+ extern uint16 sml_loader_u_to_r[];
+ extern uint16 loaderb_d_to_r[];
+ extern uint16 loaderb_u_to_l[];
+ extern uint16 sml_loaderb_d_to_u[];
+ extern uint16 loaderb_left[];
+ extern uint16 sml_loaderb_r_to_d[];
+ extern uint16 loader_l_to_u[];
+ extern uint16 sml_loader_up[];
+ extern uint16 rs_test_jobs[];
+ extern uint16 loaderb_l_to_d[];
+ extern uint16 sc2_mouse[];
+ extern uint16 loaderb_up[];
+ extern uint16 loader_u_to_d[];
+ extern uint16 sml_loader_u_to_d[];
+ extern Compact hole;
+ extern uint16 loaderb_st_up[];
+ extern uint16 sml_loader_down[];
+ extern uint16 sml_loaderb_u_to_l[];
+ extern uint16 loader_l_to_d[];
+ extern uint16 sml_loaderb_u_to_d[];
+ extern uint16 loader_u_to_r[];
+ extern uint16 loaderb_l_to_r[];
+ extern uint16 sml_loader_d_to_l[];
+ extern uint16 loaderb_r_to_l[];
+ extern uint16 top_lift_table[];
+ extern Compact robot_shell;
+ extern Compact junk1;
+ extern uint16 loader_down[];
+ extern uint16 loader_d_to_r[];
+ extern uint16 top_lift_up[];
+ extern uint16 sml_loader_st_up[];
+ extern uint16 transporter_table[];
+ extern uint16 sml_loader_r_to_d[];
+ extern uint16 loaderb_st_right[];
+ extern uint16 chip_list_s2[];
+ extern uint16 sml_loaderb_r_to_l[];
+ extern Compact dead_loader;
+ extern uint16 top_lift_2_up[];
+ extern uint16 loaderb_l_to_u[];
+ extern uint16 loaderb_down[];
+ extern uint16 loader_r_to_u[];
+ extern uint16 top_lift_2_down[];
+ extern Compact left_exit_rm2;
+ extern uint16 loader_up[];
+ extern uint16 loader_st_left[];
+ extern uint16 loader_d_to_l[];
+ extern uint16 loader_r_to_l[];
+ extern uint16 loaderb_u_to_d[];
+ extern uint16 loaderb_d_to_u[];
+ extern uint16 sml_loader_left[];
+ extern uint16 sml_loader_right[];
+ extern uint16 sml_loader_st_left[];
+ extern uint16 sml_loader_d_to_u[];
+ extern uint16 sml_loader_l_to_d[];
+ extern uint16 sml_loader_l_to_r[];
+ extern uint16 sml_loaderb_down[];
+ extern uint16 sml_loaderb_left[];
+ extern uint16 sml_loaderb_st_left[];
+ extern uint16 sml_loaderb_u_to_r[];
+ extern uint16 sml_loaderb_d_to_r[];
+ extern uint16 sml_loaderb_l_to_d[];
+ extern UnknownStuff loader_unk;
+ extern uint16 *loader_turnTable[5][5];
+ extern ExtCompact loader_ext;
+ extern Compact loader;
+ extern Compact junk2;
+ extern uint16 fast_list_sc2[];
+ extern Compact light_one;
+ extern uint16 sc2_logic[];
+ extern Compact top_lift_2;
+ extern Compact top_lift;
+ extern uint16 top_lift_down[];
+ extern Compact top_barrel;
+ extern uint16 sc32_vinc_talk[];
+ extern uint16 sc30_palette[];
+ extern uint16 sc36_col_talk2[];
+ extern uint16 sc42_judge_point[];
+ extern uint16 sc30_floor_table[];
+ extern Compact sc30_floor;
+ extern uint16 reset_33_30[];
+ extern uint16 sc30_hen_step_b[];
+ extern uint16 sc42_pros_talk[];
+ extern uint16 sc36_col_talk1[];
+ extern uint16 sc30_fast_list[];
+ extern uint16 sc30_chip_list[];
+ extern uint16 sc30_logic_list[];
+ extern uint16 sc30_mouse_list[];
+ extern Compact sc30_exit_31;
+ extern Compact sc30_exit_33;
+ extern uint16 reset_31_30[];
+ extern Compact sc30_court_door;
+ extern Compact sc30_notice;
+ extern Compact sc30_statue_1;
+ extern Compact sc30_statue_2;
+ extern Compact sc30_exit_36;
+ extern ExtCompact sc30_henri_ext;
+ extern Compact sc30_henri;
+ extern uint16 sc30_henri_talk[];
+ extern uint16 sc30_henri_tie[];
+ extern uint16 sc30_hen_step_f[];
+ extern uint16 sc30_hen_blink[];
+ extern uint16 sc30_push_door[];
+ extern uint16 reset_36_30[];
+ extern uint16 sc30_joey_list[];
+ extern uint16 dani_conv[];
+ extern uint16 sc38_dani_sattlk[];
+ extern uint16 sc31_guard_talk[];
+ extern uint16 sc38_phone_talk[];
+ extern uint16 sc32_garden_talk[];
+ extern uint16 sc31_guard_talk2[];
+ extern uint16 barman_talk[];
+ extern uint16 sc36_gal_talk[];
+ extern uint16 sc36_juke_talk[];
+ extern uint16 sc36_babs_talk[];
+ extern uint16 reset_42_30[];
+ extern uint16 reset_court_open[];
+ extern uint16 sc30_court_close[];
+ extern uint16 sc42_judge_talk[];
+ extern uint16 sc42_jobs_talk[];
+ extern uint16 sc42_blunt_talk[];
+ extern uint16 sc42_fos_talk_l[];
+ extern uint16 sc42_fos_talk_r[];
+ extern uint16 sc42_dani_talk[];
+ extern uint16 sc42_clerk_talk[];
+ extern uint16 sc42_jobs_point[];
+ extern uint16 sc42_jdg_to_jobs[];
+ extern void *data_4[];
+ extern uint16 reset_start_31[];
+ extern uint16 sc31_pull_rope[];
+ extern uint16 sc31_guard_move[];
+ extern Compact sc31_exit_39;
+ extern uint16 sc31_plank_flick[];
+ extern uint16 sc31_fast_list[];
+ extern uint16 sc31_dog_swim[];
+ extern uint16 sc31_bisc_drop[];
+ extern uint16 reset_39_31[];
+ extern uint16 sc31_climb_plank[];
+ extern uint16 sc31_bricks_up[];
+ extern Compact sc31_plank;
+ extern uint16 sc31_lift_close[];
+ extern uint16 sc31_get_bricks[];
+ extern uint16 sc31_rope_pulled[];
+ extern Compact sc31_rope;
+ extern uint16 sc31_palette[];
+ extern Compact sc31_exit_30;
+ extern uint16 sc31_put_bisc[];
+ extern uint16 sc31_bricks_fall[];
+ extern uint16 sc31_plank_raise[];
+ extern uint16 sc31_bisc_placed[];
+ extern uint16 sc31_joey_fall[];
+ extern uint16 sc31_plank_drop[];
+ extern uint16 sc31_lift_open[];
+ extern uint16 sc31_get_board[];
+ extern uint16 sc31_rope_lower[];
+ extern uint16 sc31_drop_rope[];
+ extern uint16 sc31_guard_reach[];
+ extern uint16 reset_32_31[];
+ extern uint16 sc31_guard_blink[];
+ extern uint16 sc31_use_card[];
+ extern uint16 rs_guard_avail[];
+ extern uint16 sc31_bricks_down[];
+ extern uint16 sc31_rope_drop[];
+ extern uint16 sc31_get_plank[];
+ extern uint16 sc31_floor_table[];
+ extern Compact sc31_floor;
+ extern Compact sc31_end_of_rope;
+ extern uint16 sc31_dog_fly[];
+ extern Compact sc31_lift;
+ extern uint16 sc31_chip_list[];
+ extern uint16 sc31_guard_chat[];
+ extern Compact sc31_biscuits;
+ extern uint16 reset_30_31[];
+ extern Compact sc31_bricks;
+ extern uint16 sc31_lower_rope[];
+ extern uint16 sc31_bisc_raise[];
+ extern Compact sc31_at_watcher;
+ extern uint16 sc31_dog_rise[];
+ extern uint16 rs_guard_chat[];
+ extern uint16 sc31_mouse_list[];
+ extern Compact sc31_joey;
+ extern Compact sc31_lift_slot;
+ extern uint16 sc31_logic_list[];
+ extern ExtCompact sc31_guard_ext;
+ extern Compact sc31_guard;
+ extern Compact sc31_exit_32;
+ extern uint16 sc31_joey_list[];
+ extern uint16 sc32_gardening1[];
+ extern uint16 reset_spunky_32[];
+ extern uint16 sc32_vinc_anim[];
+ extern uint16 reset_38_32[];
+ extern Compact sc32_plant_2;
+ extern uint16 sc32_use_card[];
+ extern ExtCompact sc32_vincent_ext;
+ extern Compact sc32_vincent;
+ extern uint16 sc32_gard_turn_d[];
+ extern uint16 sc32_lift_open[];
+ extern uint16 sc32_lift_close[];
+ extern uint16 sc32_mouse_list[];
+ extern Compact sc32_exit_31;
+ extern uint16 sc32_use_com[];
+ extern uint16 sc32_gardener_dn[];
+ extern ExtCompact sc32_buzzer_ext;
+ extern Compact sc32_buzzer;
+ extern uint16 sc32_floor_table[];
+ extern Compact sc32_floor;
+ extern uint16 sc32_chip_list[];
+ extern uint16 sc32_palette[];
+ extern uint16 reset_33_32[];
+ extern ExtCompact sc32_gardener_ext;
+ extern Compact sc32_gardener;
+ extern uint16 sc32_fast_list[];
+ extern uint16 sc32_logic_list[];
+ extern uint16 reset_dani_32[];
+ extern Compact sc32_plant_3;
+ extern Compact sc32_terminal;
+ extern uint16 sc32_gardener_up[];
+ extern Compact sc32_plant_1;
+ extern uint16 sc32_gard_turn_u[];
+ extern uint16 sc32_joey_list[];
+ extern uint16 sc32_gardening2[];
+ extern uint16 reset_31_32[];
+ extern Compact sc32_lift;
+ extern Compact sc32_exit_33;
+ extern Compact sc33_lock;
+ extern uint16 reset_32_33[];
+ extern uint16 sc33_palette[];
+ extern uint16 sc33_door_open[];
+ extern uint16 reset_34_33[];
+ extern Compact sc33_shed_door;
+ extern uint16 sc33_push_door2[];
+ extern Compact sc33_exit_32;
+ extern uint16 sc33_logic_list[];
+ extern uint16 sc33_floor_table[];
+ extern Compact sc33_floor;
+ extern Compact sc33_exit_30;
+ extern uint16 sc33_joey_list[];
+ extern uint16 sc33_push_door1[];
+ extern uint16 sc33_chip_list[];
+ extern uint16 sc33_fast_list[];
+ extern uint16 sc33_mouse_list[];
+ extern uint16 sc33_use_card[];
+ extern uint16 reset_30_33[];
+ extern uint16 sc34_fast_list[];
+ extern uint16 sc34_mouse_list[];
+ extern Compact sc34_secateurs;
+ extern uint16 sc34_logic_list[];
+ extern uint16 sc34_get_secs[];
+ extern uint16 sc34_chip_list[];
+ extern uint16 reset_33_34[];
+ extern uint16 sc34_stairs2[];
+ extern uint16 sc34_floor_table[];
+ extern Compact sc34_floor;
+ extern Compact sc34_bricks;
+ extern uint16 sc34_stairs1[];
+ extern Compact sc34_tkt_machine;
+ extern Compact sc34_map;
+ extern uint16 sc34_palette[];
+ extern Compact sc34_door;
+ extern uint16 sc36_get_glass[];
+ extern uint16 sc36_mouse_list[];
+ extern uint16 babs_d_to_u[];
+ extern uint16 bar_drink[];
+ extern uint16 babs_l_to_u[];
+ extern uint16 bar_put_cloth[];
+ extern uint16 babs_u_to_l[];
+ extern uint16 sc36_col_down2[];
+ extern uint16 babs_left[];
+ extern uint16 babs_u_to_t[];
+ extern uint16 sc36_col_up1[];
+ extern uint16 sc36_fos_down2[];
+ extern uint16 sc36_col_deal[];
+ extern uint16 sc36_palette[];
+ extern uint16 babs_up[];
+ extern uint16 babs_down[];
+ extern uint16 babs_right[];
+ extern uint16 babs_st_up[];
+ extern uint16 babs_st_down[];
+ extern uint16 babs_st_left[];
+ extern uint16 babs_st_right[];
+ extern uint16 babs_st_talk[];
+ extern uint16 babs_u_to_d[];
+ extern uint16 babs_u_to_r[];
+ extern uint16 babs_d_to_l[];
+ extern uint16 babs_d_to_r[];
+ extern uint16 babs_d_to_t[];
+ extern uint16 babs_l_to_d[];
+ extern uint16 babs_l_to_r[];
+ extern uint16 babs_l_to_t[];
+ extern uint16 babs_r_to_u[];
+ extern uint16 babs_r_to_d[];
+ extern uint16 babs_r_to_l[];
+ extern uint16 babs_r_to_t[];
+ extern uint16 babs_t_to_u[];
+ extern uint16 babs_t_to_d[];
+ extern uint16 babs_t_to_l[];
+ extern uint16 babs_t_to_r[];
+ extern uint16 *sc36_babs_turnTable[5][5];
+ extern ExtCompact sc36_babs_ext;
+ extern Compact sc36_babs;
+ extern uint16 sc36_col_down4[];
+ extern uint16 sc36_logic_list[];
+ extern uint16 reset_30_36[];
+ extern uint16 sc36_doorshut[];
+ extern uint16 sc36_fos_up2[];
+ extern uint16 bar_get_cloth[];
+ extern Compact sc36_juke_light;
+ extern uint16 sc36_low_floor_table[];
+ extern Compact sc36_low_floor;
+ extern uint16 sc36_floor_table[];
+ extern uint16 sc36_jukebox_on[];
+ extern Compact sc36_door;
+ extern uint16 sc36_col_down3[];
+ extern ExtCompact sc36_jukebox_ext;
+ extern Compact sc36_jukebox;
+ extern uint16 sc36_juke_kicked[];
+ extern uint16 sc36_fos_up1[];
+ extern uint16 sc36_use_jukebox[];
+ extern uint16 sc36_col_think[];
+ extern uint16 bar_wipe2[];
+ extern Compact sc36_gal_legs;
+ extern uint16 sc36_col_up2[];
+ extern Compact sc36_cards;
+ extern uint16 sc36_reach_glass[];
+ extern uint16 sc36_juke_break[];
+ extern uint16 sc36_fos_down1[];
+ extern uint16 reset_37_36[];
+ extern Compact sc36_glass;
+ extern Compact sc36_col_feet;
+ extern uint16 sc36_col_blink2[];
+ extern uint16 sc36_jukebox_off[];
+ extern Compact sc36_band;
+ extern Compact sc36_sensor;
+ extern uint16 sc36_col_drink[];
+ extern uint16 reset_juke_light[];
+ extern uint16 sc36_gal_look1[];
+ extern uint16 reset_colston[];
+ extern uint16 sc36_chip_list[];
+ extern uint16 sc36_juke_stuck[];
+ extern uint16 sc36_col_blink1[];
+ extern uint16 bar_wipe[];
+ extern uint16 sc36_gal_look2[];
+ extern uint16 sc36_juke_sing[];
+ extern ExtCompact sc36_colston_ext;
+ extern Compact sc36_colston;
+ extern uint16 sc36_col_down1[];
+ extern ExtCompact sc36_gallagher_ext;
+ extern Compact sc36_gallagher;
+ extern uint16 sc36_col_up3[];
+ extern uint16 sc36_band_anim[];
+ extern uint16 sc36_col_kick[];
+ extern Compact sc36_floor;
+ extern uint16 sc36_dooropen[];
+ extern uint16 bar_get_drink[];
+ extern uint16 sc36_gal_deal[];
+ extern uint16 bar_blink[];
+ extern uint16 sc36_press_plate[];
+ extern uint16 reset_jukebox[];
+ extern uint16 sc36_fast_list[];
+ extern uint16 sc36_col_up4[];
+ extern ExtCompact sc36_barman_ext;
+ extern Compact sc36_barman;
+ extern Compact sc36_exit_30;
+ extern uint16 sc37_mouse_list[];
+ extern uint16 sc37_chip_list[];
+ extern uint16 sc37_grillopen[];
+ extern uint16 sc37_floor_table[];
+ extern uint16 sc37_stepdown[];
+ extern Compact sc37_big_box;
+ extern uint16 sc37_footdrop[];
+ extern uint16 sc37_putlid[];
+ extern Compact sc37_sensor;
+ extern uint16 sc37_lidused[];
+ extern uint16 sc37_getlid[];
+ extern uint16 sc37_flimsy_box_table[];
+ extern uint16 sc37_thumbsup[];
+ extern Compact sc37_wine_rack;
+ extern uint16 sc37_fast_list[];
+ extern uint16 sc37_holding_lid_table[];
+ extern Compact sc37_holding_lid;
+ extern uint16 sc37_lidup[];
+ extern uint16 sc37_usesec[];
+ extern uint16 sc37_stepup[];
+ extern Compact sc37_lid;
+ extern uint16 sc37_palette[];
+ extern Compact sc37_floor;
+ extern uint16 sc37_climbout[];
+ extern Compact sc37_grill;
+ extern uint16 sc37_uselid[];
+ extern uint16 reset_36_37[];
+ extern uint16 sc37_doorshut[];
+ extern Compact sc37_door;
+ extern uint16 sc37_usebar[];
+ extern Compact sc37_flimsy_box;
+ extern uint16 sc37_dooropen[];
+ extern uint16 sc37_liddown[];
+ extern uint16 sc37_logic_list[];
+ extern uint16 sc37_crbarbox[];
+ extern uint16 spu_left[];
+ extern uint16 sc38_mouse_list[];
+ extern uint16 sniff_left[];
+ extern uint16 sc38_palette[];
+ extern uint16 spu_u_to_l[];
+ extern uint16 dan_d_to_r[];
+ extern uint16 sex_t_to_r[];
+ extern uint16 spu_u_to_d[];
+ extern Compact sc38_dog_tray;
+ extern uint16 sex_up[];
+ extern uint16 dan_u_to_r[];
+ extern uint16 sex_l_to_r[];
+ extern uint16 spu_t_to_l[];
+ extern uint16 dan_u_to_t[];
+ extern uint16 sc38_screen_2[];
+ extern uint16 dan_l_to_u[];
+ extern uint16 sc38_screen_3[];
+ extern uint16 dan_r_to_t[];
+ extern uint16 sex_u_to_t[];
+ extern uint16 sc38_dani_get_up[];
+ extern uint16 sex_r_to_d[];
+ extern uint16 dan_r_to_l[];
+ extern uint16 sc38_logic_list[];
+ extern uint16 piss_left[];
+ extern uint16 sex_d_to_u[];
+ extern uint16 dan_l_to_d[];
+ extern uint16 sex_u_to_r[];
+ extern Compact sc38_hand_set;
+ extern uint16 spu_u_to_r[];
+ extern uint16 dan_st_left[];
+ extern uint16 piss_right[];
+ extern uint16 sex_r_to_u[];
+ extern uint16 sex_left[];
+ extern uint16 sex_l_to_u[];
+ extern uint16 spu_l_to_t[];
+ extern uint16 sex_d_to_r[];
+ extern uint16 sc38_floor_table[];
+ extern uint16 sc38_get_food[];
+ extern uint16 sex_right[];
+ extern uint16 dan_st_talk[];
+ extern uint16 reset_32_38[];
+ extern Compact sc38_floor;
+ extern uint16 sex_d_to_l[];
+ extern uint16 spu_r_to_u[];
+ extern uint16 reset_dani_sit[];
+ extern uint16 spu_u_to_t[];
+ extern uint16 spu_l_to_u[];
+ extern uint16 spu_d_to_u[];
+ extern uint16 sex_u_to_d[];
+ extern uint16 sc38_dani_anim_2[];
+ extern uint16 dan_t_to_r[];
+ extern uint16 dan_st_up[];
+ extern uint16 bark[];
+ extern uint16 dan_left[];
+ extern uint16 spu_r_to_d[];
+ extern uint16 spu_l_to_r[];
+ extern uint16 sex_r_to_t[];
+ extern uint16 sex_st_down[];
+ extern uint16 sc38_scr_bark[];
+ extern uint16 dan_st_right[];
+ extern uint16 spu_st_left[];
+ extern Compact sc38_sofa;
+ extern uint16 dan_d_to_l[];
+ extern uint16 spu_r_to_l[];
+ extern uint16 sc38_chip_list[];
+ extern uint16 sc38_fast_list[];
+ extern Compact sc38_video;
+ extern Compact dog_bark_thing;
+ extern uint16 sc38_screen_4[];
+ extern uint16 dan_l_to_r[];
+ extern uint16 sex_st_talk[];
+ extern uint16 sex_st_right[];
+ extern uint16 sc38_use_video[];
+ extern Compact sc38_monitor;
+ extern uint16 spu_st_talk[];
+ extern uint16 sex_t_to_u[];
+ extern uint16 sex_r_to_l[];
+ extern uint16 sc38_dani_anim_1[];
+ extern uint16 sc38_get_phone[];
+ extern Compact sc38_lift;
+ extern Compact sc38_biscuits;
+ extern uint16 dan_r_to_u[];
+ extern uint16 spu_up[];
+ extern uint16 sc38_dani_anim_3[];
+ extern uint16 sc38_lift_up[];
+ extern uint16 sniff_right[];
+ extern uint16 dan_st_down[];
+ extern uint16 sc38_ringer_anim[];
+ extern uint16 spu_st_right[];
+ extern uint16 spu_l_to_d[];
+ extern uint16 sc38_reach_food[];
+ extern Compact sc38_ringer;
+ extern uint16 spu_t_to_u[];
+ extern Compact sc38_statue;
+ extern uint16 dan_d_to_u[];
+ extern uint16 spu_d_to_l[];
+ extern uint16 dan_u_to_l[];
+ extern uint16 reset_spunky_38[];
+ extern uint16 spu_right[];
+ extern uint16 sex_l_to_d[];
+ extern uint16 reset_dani_stand[];
+ extern uint16 dan_r_to_d[];
+ extern uint16 spu_st_down[];
+ extern uint16 dan_up[];
+ extern uint16 dan_u_to_d[];
+ extern uint16 dan_down[];
+ extern uint16 dan_right[];
+ extern uint16 dan_t_to_u[];
+ extern uint16 sex_down[];
+ extern uint16 sex_st_up[];
+ extern uint16 sex_st_left[];
+ extern uint16 sex_u_to_l[];
+ extern UnknownStuff danielle_unk;
+ extern uint16 *danielle_turnTable[5][5];
+ extern ExtCompact danielle_ext;
+ extern Compact danielle;
+ extern uint16 spu_d_to_r[];
+ extern uint16 spu_down[];
+ extern uint16 spu_st_up[];
+ extern uint16 *spunky_turnTable[5][5];
+ extern ExtCompact spunky_ext;
+ extern Compact spunky;
+ extern uint16 sc38_video_anim[];
+ extern uint16 sc38_screen_1[];
+ extern uint16 sc38_lift_down[];
+ extern Compact sc39_exit_31;
+ extern uint16 sc39_floor_table[];
+ extern Compact sc39_floor;
+ extern Compact sc39_walters;
+ extern uint16 reset_41_39[];
+ extern Compact sc39_exit_40;
+ extern uint16 sc39_ascend[];
+ extern uint16 sc39_logic_list[];
+ extern uint16 sc39_chip_list[];
+ extern uint16 reset_31_39[];
+ extern uint16 sc39_mouse_list[];
+ extern Compact sc39_exit_41;
+ extern uint16 sc39_descend[];
+ extern uint16 sc39_fast_list[];
+ extern uint16 reset_40_39[];
+ extern uint16 sc39_palette[];
+ extern uint16 rs_low_lift2[];
+ extern Compact low_lift_2;
+ extern uint16 rs_low_lift3[];
+ extern uint16 liftc3_down[];
+ extern uint16 joey_list_s3[];
+ extern uint16 liftc1_down[];
+ extern uint16 shades_l_to_r[];
+ extern uint16 shades_st_talk[];
+ extern uint16 shades_st_right[];
+ extern Compact eye_bolt;
+ extern Compact lights1;
+ extern uint16 rs_low_barrel[];
+ extern Compact convey;
+ extern uint16 search_seq[];
+ extern ExtCompact eye_ball_ext;
+ extern Compact eye_ball;
+ extern uint16 liftc3_up[];
+ extern uint16 shades_l_to_u[];
+ extern uint16 shades_u_to_d[];
+ extern uint16 s3_mouse[];
+ extern uint16 shades_d_to_u[];
+ extern ExtCompact smoulder_ext;
+ extern Compact smoulder;
+ extern Compact low_lift_3;
+ extern uint16 shades_u_to_r[];
+ extern Compact furnace;
+ extern uint16 liftc1_up[];
+ extern uint16 shades_r_to_d[];
+ extern uint16 s3_logic[];
+ extern uint16 shades_st_up[];
+ extern uint16 smoulder_seq[];
+ extern uint16 shades_up[];
+ extern uint16 shades_down[];
+ extern uint16 shades_left[];
+ extern uint16 shades_right[];
+ extern uint16 shades_st_down[];
+ extern uint16 shades_st_left[];
+ extern uint16 shades_u_to_l[];
+ extern uint16 shades_d_to_l[];
+ extern uint16 shades_d_to_r[];
+ extern uint16 shades_l_to_d[];
+ extern uint16 shades_r_to_u[];
+ extern uint16 shades_r_to_l[];
+ extern uint16 *shades_turnTable[5][5];
+ extern ExtCompact shades_ext;
+ extern Compact shades;
+ extern uint16 liftc2_down[];
+ extern uint16 rs_start_joey_fly[];
+ extern Compact steve_watch;
+ extern uint16 liftc2_up[];
+ extern Compact furnace_door;
+ extern Compact slot;
+ extern uint16 chip_list_sc3[];
+ extern Compact low_lift;
+ extern Compact joey_fly;
+ extern uint16 rs_low_lift[];
+ extern uint16 r3_floor_table[];
+ extern Compact s3_floor;
+ extern uint16 rs_joey_to_furnace[];
+ extern Compact low_barrel;
+ extern Compact sc40_body_2;
+ extern uint16 sc40_locker_shut[];
+ extern uint16 reset_39_40[];
+ extern Compact sc40_body_3;
+ extern Compact sc40_cabinet;
+ extern uint16 sc40_palette[];
+ extern uint16 sc40_descend[];
+ extern Compact sc40_locker_1;
+ extern uint16 sc40_floor_table[];
+ extern Compact sc40_floor;
+ extern uint16 sc40_chip_list[];
+ extern Compact sc40_body_5;
+ extern Compact sc40_locker_4;
+ extern uint16 sc40_close_door[];
+ extern uint16 sc40_locker_open[];
+ extern Compact sc40_locker_2;
+ extern Compact sc40_locker_3;
+ extern uint16 sc40_fast_list[];
+ extern Compact sc40_exit_39;
+ extern Compact sc40_body_1;
+ extern uint16 sc40_open_door[];
+ extern Compact sc40_trolley;
+ extern Compact sc40_locker_5;
+ extern uint16 sc40_mouse_list[];
+ extern uint16 sc40_logic_list[];
+ extern Compact sc40_body_4;
+ extern uint16 sc40_ascend[];
+ extern uint16 sc41_mouse_list[];
+ extern uint16 sc41_heat_2_anim[];
+ extern Compact sc41_heat_1;
+ extern uint16 reset_39_41[];
+ extern uint16 sc41_heat_1_anim[];
+ extern uint16 sc41_fast_list[];
+ extern Compact sc41_heat_2;
+ extern uint16 sc41_chip_list[];
+ extern Compact sc41_heat_3;
+ extern Compact sc41_exit_39;
+ extern uint16 sc41_floor_table[];
+ extern Compact sc41_floor;
+ extern uint16 sc41_heat_3_anim[];
+ extern uint16 sc41_logic_list[];
+ extern uint16 sc41_palette[];
+ extern uint16 sc42_jdg_hammer[];
+ extern uint16 reset_30_42[];
+ extern uint16 sc42_mouse_list[];
+ extern Compact sc42_sign;
+ extern uint16 sc42_fos_enter[];
+ extern uint16 sc42_clerk_type[];
+ extern ExtCompact sc42_judge_ext;
+ extern Compact sc42_judge;
+ extern uint16 sc42_logic_list[];
+ extern uint16 sc42_jdg_turn[];
+ extern uint16 sc42_fast_list[];
+ extern ExtCompact sc42_prosecution_ext;
+ extern Compact sc42_prosecution;
+ extern uint16 sc42_fos_turn_lr[];
+ extern uint16 sc42_chip_list[];
+ extern ExtCompact sc42_clerk_ext;
+ extern Compact sc42_clerk;
+ extern uint16 reset_guard_42[];
+ extern uint16 sc42_jdg_return[];
+ extern uint16 sc42_fos_turn_rl[];
+ extern ExtCompact sc42_jobsworth_ext;
+ extern Compact sc42_jobsworth;
+ extern uint16 reset_dani_42[];
+ extern uint16 sc42_sign_anim[];
+ extern uint16 sc42_blunt_enter[];
+ extern uint16 sc42_blunt_leave[];
+ extern uint16 sc42_jobs_enter[];
+ extern uint16 sc42_palette[];
+ extern uint16 sc42_fos_leave[];
+ extern uint16 sc44_chip_list[];
+ extern Compact sc44_rubble;
+ extern uint16 reset_45_44[];
+ extern Compact sc44_grill;
+ extern uint16 sc44_floor_table[];
+ extern uint16 sc44_drop_down[];
+ extern Compact sc44_exit_45;
+ extern uint16 sc44_fast_list[];
+ extern uint16 sc44_palette[];
+ extern uint16 sc44_logic_list[];
+ extern Compact sc44_floor;
+ extern uint16 sc44_mouse_list[];
+ extern uint16 reset_37_44[];
+ extern uint16 reset_44_45[];
+ extern uint16 sc45_logic_list[];
+ extern uint16 sc45_floor_table[];
+ extern Compact sc45_floor;
+ extern Compact sc45_exit_47;
+ extern uint16 reset_46_45[];
+ extern Compact sc45_exit_46;
+ extern uint16 sc45_palette[];
+ extern uint16 sc45_fast_list[];
+ extern uint16 reset_47_45[];
+ extern Compact sc45_exit_44;
+ extern uint16 sc45_chip_list[];
+ extern uint16 sc45_mouse_list[];
+ extern uint16 sc46_floor_table[];
+ extern uint16 sc46_palette[];
+ extern uint16 sc46_chip_list[];
+ extern Compact sc46_exit_45;
+ extern uint16 sc46_logic_list[];
+ extern uint16 sc46_mouse_list[];
+ extern uint16 sc46_fast_list[];
+ extern Compact sc46_rubble;
+ extern uint16 reset_45_46[];
+ extern Compact sc46_floor;
+ extern uint16 reset_48_47[];
+ extern uint16 sc47_palette[];
+ extern uint16 reset_45_47[];
+ extern uint16 sc47_mouse_list[];
+ extern Compact sc47_exit_48;
+ extern uint16 sc47_fast_list[];
+ extern uint16 sc47_logic_list[];
+ extern Compact sc47_exit_45;
+ extern uint16 sc47_chip_list[];
+ extern uint16 sc47_floor_table[];
+ extern Compact sc47_floor;
+ extern Compact sc48_eyes;
+ extern uint16 sc48_mouse_list[];
+ extern uint16 sc48_chip_list[];
+ extern uint16 sc48_floor_table[];
+ extern Compact sc48_socket;
+ extern uint16 sc48_put_bulb[];
+ extern uint16 sc48_palette[];
+ extern uint16 sc48_fast_list[];
+ extern Compact sc48_hole;
+ extern uint16 reset_47_48[];
+ extern uint16 sc48_logic_list[];
+ extern uint16 reset_65_48[];
+ extern uint16 sc48_eyes_anim[];
+ extern Compact sc48_exit_47;
+ extern Compact sc48_exit_65;
+ extern Compact sc48_floor;
+ extern uint16 sc48_light_pal[];
+ extern uint16 jobs_u_to_l[];
+ extern uint16 m_jobs_left[];
+ extern uint16 jobs_l_to_u[];
+ extern uint16 m_jobs_u_to_d[];
+ extern Compact sarnie_s4;
+ extern uint16 m_jobs_l_to_d[];
+ extern uint16 s4_talk_table[];
+ extern uint16 chip_list_sc4[];
+ extern Compact r_talk_s4;
+ extern Compact monitors_s4;
+ extern uint16 m_jobs_down[];
+ extern Compact jobsworth;
+ extern uint16 jobs_st_down[];
+ extern Compact notice4;
+ extern uint16 m_jobs_st_down[];
+ extern uint16 m_jobs_st_talk[];
+ extern uint16 m_jobs_up[];
+ extern uint16 m_jobs_right[];
+ extern uint16 m_jobs_st_up[];
+ extern uint16 m_jobs_st_left[];
+ extern uint16 m_jobs_st_right[];
+ extern uint16 m_jobs_u_to_l[];
+ extern uint16 m_jobs_u_to_r[];
+ extern uint16 m_jobs_d_to_u[];
+ extern uint16 m_jobs_d_to_l[];
+ extern uint16 m_jobs_d_to_r[];
+ extern uint16 m_jobs_l_to_u[];
+ extern uint16 m_jobs_l_to_r[];
+ extern uint16 m_jobs_r_to_u[];
+ extern uint16 m_jobs_r_to_d[];
+ extern uint16 m_jobs_r_to_l[];
+ extern uint16 jobs_up[];
+ extern uint16 jobs_down[];
+ extern uint16 jobs_left[];
+ extern uint16 jobs_right[];
+ extern uint16 jobs_st_up[];
+ extern uint16 jobs_st_left[];
+ extern uint16 jobs_st_right[];
+ extern uint16 jobs_st_talk[];
+ extern uint16 jobs_u_to_d[];
+ extern uint16 jobs_u_to_r[];
+ extern uint16 jobs_d_to_u[];
+ extern uint16 jobs_d_to_l[];
+ extern uint16 jobs_d_to_r[];
+ extern uint16 jobs_l_to_d[];
+ extern uint16 jobs_l_to_r[];
+ extern uint16 jobs_r_to_u[];
+ extern uint16 jobs_r_to_d[];
+ extern uint16 jobs_r_to_l[];
+ extern Compact buttons_s4;
+ extern uint16 sc4_mouse_open[];
+ extern Compact tv_screens_s4;
+ extern uint16 sc4_logic[];
+ extern Compact postcard;
+ extern Compact knob_s4;
+ extern Compact lazer_s4;
+ extern uint16 fast_list_sc4[];
+ extern Compact sc4_left_exit;
+ extern Compact spanner_s4;
+ extern uint16 joey_list_s4[];
+ extern Compact chuck_s4;
+ extern uint16 r4_floor_table[];
+ extern uint16 sc4_mouse[];
+ extern Compact sc4_floor;
+ extern Compact cupboard_s4;
+ extern Compact copter;
+ extern uint16 rs_joey_29_7[];
+ extern uint16 rs_joey_to_6[];
+ extern Compact lift_notice;
+ extern uint16 mid_up_get[];
+ extern uint16 jostair1_seq[];
+ extern uint16 grd_watch_seq[];
+ extern uint16 s7_floor_table[];
+ extern uint16 lamb_card_seq[];
+ extern uint16 joey_list_s6[];
+ extern uint16 s6_chip_list[];
+ extern uint16 s6_pal[];
+ extern uint16 rs_foster_8_7[];
+ extern Compact joey_fly_6;
+ extern uint16 s7_chip_list[];
+ extern uint16 s8_logic[];
+ extern uint16 s7_lift_open[];
+ extern uint16 skorl_anim[];
+ extern uint16 card_slot_anim[];
+ extern uint16 dwn_stair1_seq[];
+ extern Compact s7_floor;
+ extern uint16 rs_foster_9_6[];
+ extern uint16 s6_mouse[];
+ extern uint16 rs_foster_to_5[];
+ extern uint16 s8_chip_list[];
+ extern uint16 weld_7_seq[];
+ extern uint16 grd_blink_seq[];
+ extern Compact down_exit_s8;
+ extern uint16 jostair3_seq[];
+ extern uint16 s5_chip_list[];
+ extern Compact left_exit_s7;
+ extern uint16 rs_foster_18_5[];
+ extern uint16 upstairs1_seq[];
+ extern uint16 rs_foster_6_7[];
+ extern Compact s7_card_slot;
+ extern uint16 rs_joey_fly[];
+ extern uint16 s7_mouse[];
+ extern uint16 s7_logic[];
+ extern ExtCompact wreck_guard_ext;
+ extern Compact wreck_guard;
+ extern uint16 rs_foster_5_6[];
+ extern uint16 rs_foster_7_8[];
+ extern uint16 upstairs2_seq[];
+ extern Compact security_exit;
+ extern uint16 s6_logic[];
+ extern Compact right_exit_s5;
+ extern Compact cable_7;
+ extern uint16 rs_foster_29_7[];
+ extern uint16 s8_mouse[];
+ extern uint16 s8_pal[];
+ extern Compact security_exit_s6;
+ extern uint16 jostair2_seq[];
+ extern uint16 s6_floor_table[];
+ extern Compact lift_s7;
+ extern uint16 s5_mouse[];
+ extern uint16 s5_logic[];
+ extern uint16 dwn_stair2_seq[];
+ extern uint16 s8_fast_list[];
+ extern Compact right_exit_s7;
+ extern uint16 s5_floor_table[];
+ extern Compact s5_floor;
+ extern uint16 s8_floor_table[];
+ extern uint16 lamblook_seq[];
+ extern uint16 s5_pal[];
+ extern Compact left_exit_s5;
+ extern Compact right_exit_s6;
+ extern Compact s6_floor;
+ extern uint16 rs_foster_to_6[];
+ extern uint16 use_linc_anim[];
+ extern Compact stairs6;
+ extern uint16 rs_foster_6_3[];
+ extern Compact left_exit_s6;
+ extern uint16 s7_pal[];
+ extern uint16 rs_foster_7_6[];
+ extern ExtCompact skorl_guard_ext;
+ extern Compact skorl_guard;
+ extern Compact s8_floor;
+ extern Compact factory_entry;
+ extern uint16 s7_lift_close[];
+ extern uint16 linc_table[];
+ extern Compact linc_s7;
+ extern Compact lift7_light;
+ extern uint16 cable_cut_seq[];
+ extern uint16 rs_foster_0_5[];
+ extern uint16 lamb_talk_right[];
+ extern void *data_2[];
+ extern Compact sc65_exit_48;
+ extern uint16 sc65_floor_table[];
+ extern Compact sc65_floor;
+ extern uint16 reset_48_65[];
+ extern uint16 sc65_chip_list[];
+ extern Compact sc65_exit_66;
+ extern uint16 sc65_mouse_list[];
+ extern uint16 sc65_fast_list[];
+ extern Compact sc65_poster2;
+ extern Compact sc65_poster1;
+ extern Compact sc65_sign;
+ extern uint16 sc65_logic_list[];
+ extern uint16 sc65_palette[];
+ extern uint16 sc66_hi_beam_an1[];
+ extern uint16 sc66_door_close[];
+ extern uint16 sc75_dead_tlk[];
+ extern Compact sc66_rock3;
+ extern Compact sc66_lo_beam;
+ extern uint16 sc66_stones_anim[];
+ extern uint16 walter_conv[];
+ extern uint16 sc66_logic_list[];
+ extern Compact sc66_stones;
+ extern Compact sc66_rock1;
+ extern uint16 sc81_ken_talk1[];
+ extern Compact sc66_rock2;
+ extern uint16 sc66_hi_beam_an2[];
+ extern uint16 stuck_talk[];
+ extern uint16 sc66_chip_list[];
+ extern uint16 medi_talk_up[];
+ extern uint16 sc82_ken_sat_tlk[];
+ extern uint16 sc81_ken_talk2[];
+ extern uint16 android_babble[];
+ extern uint16 sc66_rock2_anim[];
+ extern uint16 sc82_jobs_talk[];
+ extern uint16 ken_talk_left[];
+ extern uint16 sc75_freeze_tlk[];
+ extern uint16 fost_pipe_talk[];
+ extern uint16 ken_talk_up[];
+ extern uint16 sc66_mouse_list[];
+ extern Compact sc66_hi_beam;
+ extern uint16 gall_talk_up[];
+ extern uint16 walter_talk_up[];
+ extern uint16 medi_talk_right[];
+ extern uint16 sc66_rock3_anim[];
+ extern uint16 gall_talk_left[];
+ extern uint16 medi_talk_down[];
+ extern uint16 sc66_lo_beam_anm[];
+ extern uint16 sc81_dad_tlk[];
+ extern uint16 reset_66[];
+ extern uint16 sc66_fos_crushed[];
+ extern uint16 fost_conv_left[];
+ extern uint16 sc81_fos_sat_tlk[];
+ extern uint16 walter_talk_dwn[];
+ extern uint16 sc66_fos_walk_in[];
+ extern uint16 medi_talk_left[];
+ extern uint16 ken_talk_down[];
+ extern uint16 sc81_dad_tlk2[];
+ extern uint16 ken_talk_right[];
+ extern uint16 walter_talk_lft[];
+ extern uint16 sc81_ken_sat_tlk[];
+ extern uint16 sc82_jobs_talk2[];
+ extern Compact sc66_hole;
+ extern uint16 sc66_rock1_anim[];
+ extern uint16 sc66_fast_list[];
+ extern uint16 sc66_palette[];
+ extern Compact sc66_door;
+ extern void *data_5[];
+ extern uint16 sc67_logic_list[];
+ extern Compact sc67_vein;
+ extern uint16 sc67_mouse_list[];
+ extern uint16 sc67_rub_head[];
+ extern uint16 sc67_try_stick[];
+ extern uint16 sc67_plast_hit[];
+ extern Compact sc67_door;
+ extern Compact sc67_mend;
+ extern uint16 sc67_mending[];
+ extern Compact sc67_plaster;
+ extern uint16 sc67_door_open[];
+ extern uint16 sc67_dustoff[];
+ extern Compact sc67_rock;
+ extern Compact sc67_crowbar;
+ extern uint16 sc67_puss_leak[];
+ extern uint16 sc67_pulse3_anim[];
+ extern uint16 sc67_plast_fall[];
+ extern Compact sc67_pulse4;
+ extern uint16 sc67_brick_fall[];
+ extern uint16 sc67_bar_fall[];
+ extern uint16 sc67_brick_hit[];
+ extern uint16 sc67_pick_plast[];
+ extern uint16 sc67_crawl[];
+ extern uint16 sc67_medifix[];
+ extern uint16 sc67_pulse1_anim[];
+ extern uint16 sc67_pulse2_anim[];
+ extern uint16 sc67_stick_in[];
+ extern Compact sc67_pulse1;
+ extern uint16 sc67_rpocket[];
+ extern Compact sc67_brickwork;
+ extern uint16 sc67_getbrick[];
+ extern uint16 sc67_lpocket[];
+ extern uint16 sc67_pull_out[];
+ extern uint16 sc67_palette[];
+ extern uint16 sc67_fast_list[];
+ extern uint16 sc67_door_close[];
+ extern uint16 sc67_rock_anim[];
+ extern Compact sc67_pulse2;
+ extern Compact sc67_brick;
+ extern uint16 sc67_floor_table[];
+ extern uint16 sc67_pick_brick[];
+ extern uint16 reset_66_67[];
+ extern Compact sc67_pulse3;
+ extern Compact sc67_floor;
+ extern uint16 sc67_pulse4_anim[];
+ extern uint16 sc67_chip_list[];
+ extern uint16 reset_68_67[];
+ extern Compact sc67_clot;
+ extern Compact sc68_pulse5;
+ extern uint16 sc68_chip_list[];
+ extern uint16 reset_69_68[];
+ extern Compact sc68_pulse1;
+ extern Compact sc68_door;
+ extern Compact sc68_exit;
+ extern uint16 sc68_logic_list[];
+ extern uint16 sc68_palette[];
+ extern Compact sc68_pulse3;
+ extern uint16 sc68_pulse5_anim[];
+ extern uint16 sc68_ascend[];
+ extern uint16 sc68_pulse3_anim[];
+ extern uint16 sc68_pulse2_anim[];
+ extern Compact sc68_pulse4;
+ extern uint16 sc68_pulse6_anim[];
+ extern Compact sc68_sensor;
+ extern uint16 sc68_pulse1_anim[];
+ extern uint16 sc68_pulse4_anim[];
+ extern Compact sc68_pulse2;
+ extern uint16 sc68_descend[];
+ extern uint16 reset_70_68[];
+ extern uint16 sc68_sensor_anim[];
+ extern uint16 sc68_door_close[];
+ extern uint16 sc68_floor_table[];
+ extern Compact sc68_pulse6;
+ extern Compact sc68_grill;
+ extern Compact sc68_stairs;
+ extern uint16 sc68_fast_list[];
+ extern uint16 reset_67_68[];
+ extern uint16 sc68_mouse_list[];
+ extern Compact sc68_floor;
+ extern uint16 sc68_joey_list[];
+ extern uint16 sc69_logic_list[];
+ extern uint16 sc69_pulse5_anim[];
+ extern uint16 sc69_chip_list[];
+ extern uint16 sc69_palette[];
+ extern uint16 reset_71_69[];
+ extern uint16 sc69_mouse_list[];
+ extern Compact sc69_pulse2;
+ extern uint16 sc69_floor_table[];
+ extern Compact sc69_pulse6;
+ extern uint16 sc69_joey_list[];
+ extern Compact sc69_exit;
+ extern uint16 sc69_fast_list[];
+ extern Compact sc69_door;
+ extern Compact sc69_pulse3;
+ extern Compact sc69_pulse5;
+ extern uint16 sc69_pulse6_anim[];
+ extern Compact sc69_pulse4;
+ extern Compact sc69_pulse1;
+ extern uint16 sc69_pulse4_anim[];
+ extern Compact sc69_grill;
+ extern uint16 sc69_pulse1_anim[];
+ extern uint16 sc69_pulse3_anim[];
+ extern uint16 reset_68_69[];
+ extern uint16 sc69_pulse2_anim[];
+ extern Compact sc69_floor;
+ extern Compact sc70_bar;
+ extern uint16 sc70_pull_bar[];
+ extern uint16 sc70_step_down[];
+ extern uint16 sc70_palette[];
+ extern uint16 sc70_floor_table[];
+ extern uint16 sc70_enter_anim[];
+ extern uint16 sc70_step_up[];
+ extern Compact sc70_floor;
+ extern uint16 reset_68_70[];
+ extern uint16 sc70_exit_anim[];
+ extern uint16 sc70_fast_list[];
+ extern uint16 sc70_logic_list[];
+ extern ExtCompact sc70_iris_ext;
+ extern Compact sc70_iris;
+ extern uint16 sc70_pit_table[];
+ extern Compact sc70_door;
+ extern Compact sc70_pit;
+ extern uint16 sc70_chip_list[];
+ extern uint16 sc70_bar_anim[];
+ extern Compact sc70_control;
+ extern uint16 sc70_pit_anim[];
+ extern Compact sc70_grill;
+ extern uint16 sc70_consol_anim[];
+ extern uint16 sc70_mouse_list[];
+ extern uint16 medi_d_to_u[];
+ extern uint16 sc71_use_board[];
+ extern Compact sc71_door72;
+ extern uint16 sc71_medi_charge[];
+ extern uint16 medi_up[];
+ extern uint16 medi_down[];
+ extern uint16 medi_left[];
+ extern uint16 medi_right[];
+ extern uint16 medi_st_up[];
+ extern uint16 medi_st_down[];
+ extern uint16 medi_st_left[];
+ extern uint16 medi_st_right[];
+ extern uint16 medi_u_to_d[];
+ extern uint16 medi_u_to_l[];
+ extern uint16 medi_u_to_r[];
+ extern uint16 medi_d_to_l[];
+ extern uint16 medi_d_to_r[];
+ extern uint16 medi_l_to_u[];
+ extern uint16 medi_l_to_d[];
+ extern uint16 medi_l_to_r[];
+ extern uint16 medi_r_to_u[];
+ extern uint16 medi_r_to_d[];
+ extern uint16 medi_r_to_l[];
+ extern uint16 *medi_turnTable[5][5];
+ extern ExtCompact medi_ext;
+ extern Compact medi;
+ extern uint16 sc71_mouse_list[];
+ extern uint16 sc71_light1_anim[];
+ extern uint16 sc71_logic_list[];
+ extern uint16 reset_69_71[];
+ extern uint16 sc71_chip_list[];
+ extern uint16 sc710_chip_list[];
+ extern uint16 reset_72_71[];
+ extern uint16 sc71_medi_get_up[];
+ extern Compact sc71_chlite;
+ extern Compact sc71_controls;
+ extern uint16 sc71_panel_anim[];
+ extern Compact sc71_panel2;
+ extern uint16 sc71_panel2_anim[];
+ extern uint16 sc71_joey_list[];
+ extern Compact sc71_light1;
+ extern uint16 sc71_palette[];
+ extern uint16 sc71_fast_list[];
+ extern uint16 sc71_mon_anim[];
+ extern uint16 sc71_floor_table[];
+ extern Compact sc71_floor;
+ extern Compact sc71_door69;
+ extern Compact sc71_fake_floor;
+ extern Compact sc71_medi_slot;
+ extern Compact sc71_monitor;
+ extern uint16 sc71_chlite_anim[];
+ extern Compact sc71_locked_door;
+ extern Compact sc71_recharger;
+ extern uint16 sc71_light2_anim[];
+ extern uint16 wit_st_right[];
+ extern uint16 sc72_comp_flash[];
+ extern Compact sc72_rot_light;
+ extern uint16 sc72_fast_list[];
+ extern uint16 sc72_spill_anim[];
+ extern uint16 wit_d_to_u[];
+ extern Compact sc72_chamber2;
+ extern uint16 wit_l_to_r[];
+ extern uint16 sc72_joey_tap[];
+ extern uint16 sc72_comp2_flash[];
+ extern Compact sc72_tank;
+ extern uint16 wit_r_to_d[];
+ extern uint16 sc72_floor_table[];
+ extern Compact sc72_floor;
+ extern uint16 sc72_drip_anim[];
+ extern uint16 wit_u_to_d[];
+ extern Compact sc72_cham2_light;
+ extern Compact sc72_computer2;
+ extern uint16 sc72_walter_die[];
+ extern uint16 wit_r_to_l[];
+ extern uint16 wit_up[];
+ extern uint16 sc72_rotating[];
+ extern uint16 sc72_walter_kill[];
+ extern Compact sc72_exit;
+ extern uint16 wit_l_to_d[];
+ extern uint16 sc72_cham3_anim[];
+ extern uint16 sc72_chip_list[];
+ extern uint16 sc72_foster_die[];
+ extern uint16 sc72_cham1_anim[];
+ extern uint16 sc72_cham2_anim[];
+ extern uint16 reset_71_72[];
+ extern uint16 wit_st_left[];
+ extern Compact sc72_cham1_light;
+ extern uint16 sc72_palette[];
+ extern uint16 sc72_joey_list[];
+ extern uint16 sc72_cham2_flash[];
+ extern uint16 wit_st_down[];
+ extern uint16 sc72_mouse_list[];
+ extern Compact sc72_fake_floor;
+ extern uint16 wit_st_up[];
+ extern Compact sc72_tap;
+ extern uint16 wit_l_to_t[];
+ extern uint16 wit_st_talk[];
+ extern uint16 wit_d_to_l[];
+ extern Compact sc72_spill;
+ extern Compact sc72_computer;
+ extern uint16 wit_l_to_u[];
+ extern Compact sc72_door;
+ extern uint16 wit_u_to_l[];
+ extern uint16 sc72_cham1_flash[];
+ extern uint16 wit_d_to_r[];
+ extern uint16 wit_left[];
+ extern uint16 sc72_tank_anim[];
+ extern uint16 wit_right[];
+ extern uint16 wit_t_to_u[];
+ extern uint16 wit_u_to_t[];
+ extern Compact sc72_chamber3;
+ extern uint16 wit_down[];
+ extern uint16 wit_u_to_r[];
+ extern uint16 wit_r_to_u[];
+ extern uint16 wit_t_to_l[];
+ extern uint16 *witness_turnTable[5][5];
+ extern ExtCompact witness_ext;
+ extern Compact witness;
+ extern uint16 sc72_logic_list[];
+ extern uint16 reset_73_72[];
+ extern uint16 sc720_chip_list[];
+ extern Compact sc72_grill;
+ extern Compact sc72_chamber1;
+ extern uint16 gal_u_to_l[];
+ extern Compact sc73_exit;
+ extern uint16 sc73_cham5_flash[];
+ extern uint16 sc73_cham5_anim[];
+ extern uint16 gal_up[];
+ extern uint16 gal_down[];
+ extern uint16 gal_left[];
+ extern uint16 gal_right[];
+ extern uint16 gal_st_up[];
+ extern uint16 gal_st_down[];
+ extern uint16 gal_st_left[];
+ extern uint16 gal_st_right[];
+ extern uint16 gal_u_to_d[];
+ extern uint16 gal_u_to_r[];
+ extern uint16 gal_d_to_u[];
+ extern uint16 gal_d_to_l[];
+ extern uint16 gal_d_to_r[];
+ extern uint16 gal_l_to_u[];
+ extern uint16 gal_l_to_d[];
+ extern uint16 gal_l_to_r[];
+ extern uint16 gal_r_to_u[];
+ extern uint16 gal_r_to_d[];
+ extern uint16 gal_r_to_l[];
+ extern uint16 *gallagher_turnTable[5][5];
+ extern ExtCompact gallagher_ext;
+ extern Compact gallagher;
+ extern uint16 sc73_joey_fight1[];
+ extern uint16 sc73_gall_fight2[];
+ extern uint16 reset_72_73[];
+ extern uint16 sc73_joey_fight2[];
+ extern uint16 sc73_floor_table[];
+ extern Compact sc73_floor;
+ extern uint16 sc73_bits_anim[];
+ extern uint16 sc73_gall_fight1[];
+ extern Compact sc73_door;
+ extern uint16 sc73_cham4_anim[];
+ extern Compact sc73_bits;
+ extern Compact sc73_locked_door;
+ extern uint16 sc73_mouse_list[];
+ extern Compact sc73_sensor;
+ extern Compact sc73_cham5_light;
+ extern uint16 sc73_joey_lunge[];
+ extern uint16 sc73_get_board[];
+ extern uint16 sc73_chip_list[];
+ extern Compact sc73_spray;
+ extern uint16 reset_74_73[];
+ extern Compact sc73_bits2;
+ extern uint16 sc73_sensor_anim[];
+ extern uint16 sc73_fast_list[];
+ extern uint16 sc73_joey_list[];
+ extern uint16 sc73_spray_anim[];
+ extern Compact sc73_chamber4;
+ extern Compact sc73_chamber3;
+ extern uint16 sc73_palette[];
+ extern Compact sc73_chamber5;
+ extern uint16 sc73_cham4_flash[];
+ extern uint16 sc73_bits2_anim[];
+ extern uint16 sc73_logic_list[];
+ extern uint16 reset_75_73[];
+ extern uint16 sc73_cham3_anim[];
+ extern uint16 sc73_search[];
+ extern Compact sc73_big_door;
+ extern Compact sc73_cham4_light;
+ extern Compact sc74_monitor3;
+ extern Compact sc74_pod;
+ extern Compact sc74_terminal;
+ extern uint16 sc74_int_table[];
+ extern Compact sc74_interface;
+ extern uint16 sc74_mon4_anim[];
+ extern uint16 sc74_rtv_anim[];
+ extern uint16 sc74_pod_down[];
+ extern uint16 sc74_lights_anim[];
+ extern uint16 sc74_pod_up[];
+ extern Compact sc74_int_slot;
+ extern uint16 sc74_mouse_list[];
+ extern uint16 sc74_chip_list[];
+ extern Compact sc74_monitor2;
+ extern uint16 sc74_floor_table[];
+ extern Compact sc74_floor;
+ extern uint16 reset_73_74[];
+ extern uint16 sc74_ltv_anim[];
+ extern Compact sc74_left_tv;
+ extern uint16 sc74_usecard[];
+ extern uint16 sc74_fost_sit[];
+ extern Compact sc74_door;
+ extern Compact sc74_monitor4;
+ extern uint16 sc74_mon3_anim[];
+ extern uint16 sc74_get_up[];
+ extern Compact sc74_monitor1;
+ extern uint16 sc74_mon1_anim[];
+ extern uint16 sc74_palette[];
+ extern uint16 sc74_fast_list[];
+ extern uint16 sc74_usecard2[];
+ extern uint16 sc74_rpocket[];
+ extern uint16 reset_linc_74[];
+ extern Compact sc74_right_tv;
+ extern uint16 sc74_logic_list[];
+ extern uint16 sc74_mon2_anim[];
+ extern Compact sc74_lights;
+ extern uint16 sc74_slot_flash[];
+ extern uint16 sc75_floor_table[];
+ extern uint16 sc75_usecard[];
+ extern Compact sc75_console;
+ extern uint16 sc75_get_tongs[];
+ extern uint16 sc75_joey_list[];
+ extern uint16 sc75_freeze_ded2[];
+ extern uint16 sc75_hand_tank[];
+ extern Compact sc75_door;
+ extern uint16 sc75_light2_anim[];
+ extern Compact sc75_light1;
+ extern uint16 rs_tongs_dead[];
+ extern uint16 sc75_tank_anim[];
+ extern uint16 reset_73_75[];
+ extern uint16 sc75_light1_anim[];
+ extern uint16 sc75_fast_list[];
+ extern Compact sc75_floor;
+ extern uint16 rs_tongs_empty[];
+ extern Compact sc75_big_door;
+ extern uint16 sc75_mouse_list[];
+ extern Compact sc75_live_tank;
+ extern uint16 sc75_freeze_it[];
+ extern Compact sc75_tongs;
+ extern uint16 sc75_chip_list[];
+ extern uint16 sc75_nitro_anim[];
+ extern uint16 rs_tongs_frozen[];
+ extern uint16 sc75_crash_anim[];
+ extern Compact sc75_light2;
+ extern uint16 sc75_mon_anim[];
+ extern uint16 sc75_freeze_it2[];
+ extern Compact sc75_nitro_tank;
+ extern uint16 sc75_palette[];
+ extern uint16 rs_tongs_live[];
+ extern uint16 reset_76_75[];
+ extern uint16 sc75_logic_list[];
+ extern uint16 rs_tongs_timer[];
+ extern uint16 sc75_freeze_ded[];
+ extern uint16 sc75_rpocket[];
+ extern uint16 sc75_get_tiss[];
+ extern uint16 ken_u_to_r[];
+ extern uint16 sc76_logic_list[];
+ extern uint16 sc76_hatch_2[];
+ extern uint16 sc76_cab2_close[];
+ extern uint16 reset_75_76[];
+ extern uint16 sc76_chip_list[];
+ extern uint16 ken_right[];
+ extern uint16 ken_st_up[];
+ extern uint16 ken_d_to_l[];
+ extern uint16 ken_up[];
+ extern uint16 ken_down[];
+ extern uint16 ken_left[];
+ extern uint16 ken_st_down[];
+ extern uint16 ken_st_left[];
+ extern uint16 ken_st_right[];
+ extern uint16 ken_u_to_d[];
+ extern uint16 ken_u_to_l[];
+ extern uint16 ken_d_to_u[];
+ extern uint16 ken_d_to_r[];
+ extern uint16 ken_l_to_u[];
+ extern uint16 ken_l_to_d[];
+ extern uint16 ken_l_to_r[];
+ extern uint16 ken_r_to_u[];
+ extern uint16 ken_r_to_d[];
+ extern uint16 ken_r_to_l[];
+ extern uint16 *ken_turnTable[5][5];
+ extern ExtCompact ken_ext;
+ extern Compact ken;
+ extern uint16 sc76_floor_table[];
+ extern Compact sc76_floor;
+ extern Compact sc76_light3;
+ extern Compact sc76_light9;
+ extern uint16 sc76_light1_anim[];
+ extern uint16 sc76_light2_anim[];
+ extern Compact sc76_light6;
+ extern Compact sc76_board_3;
+ extern uint16 sc76_shut_cab[];
+ extern uint16 sc76_light3_anim[];
+ extern Compact sc76_light1;
+ extern uint16 sc76_low_get[];
+ extern uint16 sc76_fostfall[];
+ extern Compact sc76_door77;
+ extern Compact sc76_board_1;
+ extern Compact sc76_light8;
+ extern Compact sc76_android_1;
+ extern uint16 sc76_cab1_open[];
+ extern uint16 sc76_hatch_1[];
+ extern Compact sc76_console_2;
+ extern ExtCompact sc76_android_3_ext;
+ extern Compact sc76_android_3;
+ extern Compact sc76_console_1;
+ extern uint16 sc76_fast_list[];
+ extern ExtCompact sc76_android_2_ext;
+ extern Compact sc76_android_2;
+ extern uint16 sc76_cab1_close[];
+ extern Compact sc76_light5;
+ extern Compact sc76_board_2;
+ extern uint16 sc76_light9_anim[];
+ extern uint16 sc76_cab3_open[];
+ extern Compact sc76_light7;
+ extern Compact sc76_light4;
+ extern uint16 sc76_mouse_list[];
+ extern uint16 sc76_joey_list[];
+ extern uint16 reset_77_76[];
+ extern uint16 sc76_light5_anim[];
+ extern uint16 sc76_light4_anim[];
+ extern uint16 sc76_hatch_3[];
+ extern Compact sc76_cabinet_1;
+ extern uint16 sc76_punch[];
+ extern uint16 sc76_cab2_open[];
+ extern uint16 sc76_light7_anim[];
+ extern Compact sc76_cabinet_3;
+ extern Compact sc76_console_3;
+ extern uint16 sc76_open_cab[];
+ extern uint16 sc76_palette[];
+ extern Compact sc76_light2;
+ extern uint16 sc76_light8_anim[];
+ extern uint16 sc76_cab3_close[];
+ extern Compact sc76_cabinet_2;
+ extern uint16 sc76_light6_anim[];
+ extern Compact sc76_door75;
+ extern uint16 sc77_fpushl_2[];
+ extern uint16 sc77_palette[];
+ extern Compact sc77_big_door;
+ extern uint16 sc77_fpushl_1[];
+ extern uint16 sc77_fast_list[];
+ extern uint16 sc77_logic_list[];
+ extern uint16 sc77_door_open[];
+ extern uint16 sc77_chip_list[];
+ extern uint16 reset_78_77[];
+ extern uint16 sc77_stretch[];
+ extern uint16 sc77_joey_list[];
+ extern uint16 sc77_mouse_list[];
+ extern uint16 reset_76_77[];
+ extern uint16 sc77_fpushr_2[];
+ extern uint16 sc77_floor_table[];
+ extern uint16 sc77_kpushr_2[];
+ extern Compact sc77_tank_1;
+ extern uint16 sc77_fpushr_1[];
+ extern Compact sc77_tank_2;
+ extern Compact sc77_floor;
+ extern Compact sc77_hand_2;
+ extern Compact sc77_hand_1;
+ extern uint16 sc77_kpushr_1[];
+ extern Compact sc77_door76;
+ extern uint16 sc78_ledge_table[];
+ extern Compact sc78_ledge;
+ extern Compact sc78_big_door;
+ extern uint16 sc78_climb_up[];
+ extern uint16 sc78_logic_list[];
+ extern uint16 reset_79_78[];
+ extern uint16 sc78_mouse_list[];
+ extern Compact sc78_support;
+ extern uint16 sc781_palette[];
+ extern uint16 reset_77_78[];
+ extern uint16 sc78_pipe_table[];
+ extern uint16 sc78_chip_list[];
+ extern Compact sc78_exit;
+ extern uint16 sc78_jump_down[];
+ extern Compact sc78_pipe;
+ extern uint16 sc78_palette[];
+ extern uint16 sc78_fast_list[];
+ extern uint16 sc791_palette[];
+ extern uint16 sc79_chip_list[];
+ extern uint16 sc79_climb_up[];
+ extern Compact sc79_exit;
+ extern Compact sc79_rope;
+ extern Compact sc79_support;
+ extern uint16 sc79_palette[];
+ extern uint16 sc79_climb_down[];
+ extern uint16 sc79_crouch_down[];
+ extern uint16 sc79_pipe_table[];
+ extern uint16 reset_78_79[];
+ extern uint16 sc79_crouch_up[];
+ extern uint16 sc79_rope_anim[];
+ extern Compact sc79_knot;
+ extern uint16 sc79_fast_list[];
+ extern uint16 reset_80_79[];
+ extern Compact sc79_ladder;
+ extern uint16 sc79_toss_rope[];
+ extern uint16 sc79_logic_list[];
+ extern uint16 sc79_mouse_list[];
+ extern uint16 sc79_tie_rope[];
+ extern Compact sc79_pipe;
+ extern Compact sc80_bubble10;
+ extern uint16 sc80_logic_list[];
+ extern uint16 sc802_palette[];
+ extern Compact sc80_bubble1;
+ extern uint16 sc801_palette[];
+ extern uint16 sc803_palette[];
+ extern uint16 sc80_chip_list[];
+ extern Compact sc80_bubble2;
+ extern uint16 sc80_pipe_shrug[];
+ extern uint16 sc80_climb_down[];
+ extern uint16 sc80_exit_open[];
+ extern uint16 sc80_fast_list[];
+ extern uint16 sc80_palette[];
+ extern Compact sc80_bubble11;
+ extern uint16 sc80_clamber[];
+ extern uint16 sc80_mouse_list[];
+ extern uint16 sc80_climb_up[];
+ extern Compact sc80_exit;
+ extern Compact sc80_orifice;
+ extern Compact sc80_sample;
+ extern uint16 sc80_get_rope[];
+ extern uint16 sc80_bub1_anim[];
+ extern uint16 sc80_swing[];
+ extern Compact sc80_spout;
+ extern Compact sc80_bubble4;
+ extern uint16 sc80_goo_anim[];
+ extern Compact sc80_bubble7;
+ extern Compact sc80_bubble9;
+ extern uint16 sc80_sample_fall[];
+ extern Compact sc80_rope;
+ extern Compact sc80_bubble3;
+ extern Compact sc80_bubble8;
+ extern uint16 sc80_drop[];
+ extern uint16 reset_79_80[];
+ extern Compact sc80_ladder;
+ extern uint16 sc804_palette[];
+ extern Compact sc80_bubble12;
+ extern Compact sc80_bubble6;
+ extern Compact sc80_bubble5;
+ extern Compact sc80_goo;
+ extern Compact sc81_big_tent3;
+ extern uint16 sc81_fos_squirm[];
+ extern uint16 sc81_tentwig1[];
+ extern uint16 sc81_ken_helm_dn[];
+ extern uint16 sc81_tentwig2[];
+ extern uint16 sc81_fast_list[];
+ extern Compact sc81_tent5;
+ extern Compact sc81_helmet;
+ extern uint16 sc81_ken_sit[];
+ extern uint16 sc81_palette[];
+ extern uint16 sc81_dad_helm_up[];
+ extern Compact sc81_tent2;
+ extern uint16 sc83_draw_list[];
+ extern uint16 sc81_tentwig5[];
+ extern Compact sc81_chair;
+ extern uint16 sc81_chip_list[];
+ extern uint16 sc81_tentwig6[];
+ extern Compact sc81_ken_sat;
+ extern uint16 sc81_tentdrop2[];
+ extern uint16 sc81_ken_walk2[];
+ extern Compact sc81_foster_sat;
+ extern uint16 sc81_tentdrop1[];
+ extern Compact sc81_father_sat;
+ extern uint16 sc81_tentwig4[];
+ extern uint16 sc81_ken_walk1[];
+ extern uint16 reset_dad_spec[];
+ extern uint16 sc81_mouse_list[];
+ extern uint16 sc81_dad_breath1[];
+ extern uint16 sc81_fos_helm_dn[];
+ extern uint16 sc81_dad_fall2[];
+ extern Compact sc81_door;
+ extern Compact sc81_big_tent1;
+ extern Compact sc81_tent1;
+ extern Compact sc81_tent4;
+ extern ExtCompact sc81_father_ext;
+ extern Compact sc81_father;
+ extern uint16 sc81_door_close[];
+ extern uint16 sc81_dad_breath2[];
+ extern uint16 sc81_tentwig3[];
+ extern uint16 sc81_father_die[];
+ extern uint16 reset_ken_81[];
+ extern uint16 reset_80_81[];
+ extern uint16 sc81_dad_fall1[];
+ extern uint16 sc81_ken_jump_in[];
+ extern uint16 sc81_logic_list[];
+ extern Compact sc81_big_tent2;
+ extern Compact sc81_tent3;
+ extern uint16 sc81_tentdrop3[];
+ extern Compact sc81_tent6;
+ extern uint16 sc83_palette[];
+ extern uint16 reset_foster_spec[];
+ extern uint16 sc81_foster_sit[];
+ extern uint16 sc82_push_button[];
+ extern ExtCompact sc82_jobsworth_ext;
+ extern Compact sc82_jobsworth;
+ extern uint16 reset_foster_82[];
+ extern uint16 sc82_jobs_turn[];
+ extern uint16 sc82_jobs_take[];
+ extern uint16 sc82_logic_list[];
+ extern uint16 sc82_fast_list[];
+ extern uint16 sc82_mouse_list[];
+ extern uint16 reset_ken_82[];
+ extern uint16 sc82_chip_list[];
+ extern uint16 sc82_palette[];
+ extern uint16 sc82_foster_give[];
+ extern uint16 sc82_jobs_return[];
+ extern uint16 sc85_palette[];
+ extern uint16 sc85_mouse_list[];
+ extern uint16 sc85_chip_list[];
+ extern uint16 sc85_fast_list[];
+ extern uint16 sc85_logic_list[];
+ extern Compact door_r90f;
+ extern Compact door_r90;
+ extern uint16 sc90_floor_table[];
+ extern Compact sc90_floor;
+ extern uint16 sc90_smfloor_table[];
+ extern uint16 eye90_zap_anim[];
+ extern uint16 door_l90_anim[];
+ extern Compact door_l90;
+ extern uint16 get_join[];
+ extern uint16 sc90_mouse[];
+ extern uint16 door_l90f_anim[];
+ extern uint16 sc90_logic[];
+ extern uint16 eye_90_table[];
+ extern Compact eyeball_90;
+ extern Compact sc90_smfloor;
+ extern Compact join_object;
+ extern Compact door_l90f;
+ extern Compact oscillator;
+ extern uint16 rs_foster_90_91[];
+ extern uint16 rs_foster_90_94[];
+ extern uint16 door_r90_anim[];
+ extern uint16 door_r90f_anim[];
+ extern uint16 get_oscill[];
+ extern uint16 blind_eye[];
+ extern uint16 see_eye[];
+ extern uint16 pal90[];
+ extern uint16 pal90a[];
+ extern uint16 pal90b[];
+ extern uint16 chip_list_sc90[];
+ extern uint16 get_eye[];
+ extern uint16 fost_die90[];
+ extern void *data_6[];
+ extern Compact decomp_obj;
+ extern Compact door_r91;
+ extern uint16 sc91_mouse[];
+ extern uint16 get_decomp[];
+ extern uint16 eye_91_table[];
+ extern Compact door_l91f;
+ extern uint16 door_r91f_anim[];
+ extern Compact report_book;
+ extern uint16 get_report[];
+ extern uint16 chip_list_sc91[];
+ extern uint16 sc91_floor_table[];
+ extern Compact sc91_floor;
+ extern Compact bag_91;
+ extern uint16 door_r91_anim[];
+ extern uint16 rs_foster_91_95[];
+ extern uint16 door_l91_anim[];
+ extern uint16 pal91[];
+ extern uint16 get_decrypt[];
+ extern Compact door_t91;
+ extern Compact door_l91;
+ extern uint16 rs_foster_91_92[];
+ extern uint16 fost_die91[];
+ extern uint16 rs_foster_91_90[];
+ extern uint16 sc91_logic[];
+ extern Compact eyeball_91;
+ extern uint16 fast_list_sc91[];
+ extern Compact door_t91r;
+ extern uint16 door_l91f_anim[];
+ extern Compact decrypt_obj;
+ extern uint16 door_t91_anim[];
+ extern uint16 door_t91r_anim[];
+ extern uint16 eye91_zap_anim[];
+ extern Compact door_r91f;
+ extern Compact bridge_e;
+ extern Compact door_l92;
+ extern uint16 slab8_table[];
+ extern Compact slab8;
+ extern uint16 slab3_table[];
+ extern uint16 slab2_table[];
+ extern uint16 slab4_table[];
+ extern Compact slab4;
+ extern uint16 door_l92_anim[];
+ extern uint16 door_r92_anim[];
+ extern uint16 slab6_table[];
+ extern Compact slab6;
+ extern Compact door_r92;
+ extern Compact bridge_h;
+ extern Compact bridge_f;
+ extern uint16 slab7_table[];
+ extern Compact bridge_a;
+ extern uint16 door_r92r_anim[];
+ extern Compact bridge_g;
+ extern Compact door_l92f;
+ extern Compact bridge_b;
+ extern uint16 slab9_table[];
+ extern uint16 slab1_table[];
+ extern Compact slab1;
+ extern Compact red_circle;
+ extern Compact slab2;
+ extern uint16 sc92_logic[];
+ extern uint16 chip_list_sc92[];
+ extern uint16 pal92[];
+ extern uint16 fast_list_sc92[];
+ extern uint16 door_l92f_anim[];
+ extern Compact slab9;
+ extern Compact door_r92r;
+ extern uint16 slab5_table[];
+ extern Compact slab5;
+ extern Compact slab7;
+ extern uint16 sc92_mouse[];
+ extern uint16 rs_foster_92_93[];
+ extern Compact green_circle;
+ extern uint16 rs_foster_92_91[];
+ extern Compact bridge_c;
+ extern Compact bridge_d;
+ extern Compact slab3;
+ extern uint16 get_adjust[];
+ extern Compact door_l93;
+ extern uint16 sc93_mouse[];
+ extern Compact adjust_book;
+ extern uint16 sc93_floor_table[];
+ extern uint16 sc93_logic[];
+ extern Compact door_l93f;
+ extern uint16 rs_foster_93_92[];
+ extern Compact sc93_floor;
+ extern uint16 chip_list_sc93[];
+ extern uint16 door_l93f_anim[];
+ extern uint16 get_persona[];
+ extern uint16 fast_list_sc93[];
+ extern uint16 door_l93_anim[];
+ extern Compact persona;
+ extern uint16 pal93[];
+ extern uint16 door_l94_anim[];
+ extern uint16 holo1_a_anim[];
+ extern uint16 sc94_floor_table[];
+ extern Compact sc94_floor;
+ extern uint16 fast_list_sc94[];
+ extern uint16 holo3_anim[];
+ extern Compact door_r94;
+ extern uint16 sc94_logic[];
+ extern uint16 door_r94r_anim[];
+ extern Compact door_r94r;
+ extern uint16 rs_foster_94_90[];
+ extern Compact door_l94r;
+ extern uint16 rs_foster_94_95[];
+ extern uint16 door_r94_anim[];
+ extern uint16 chip_list_sc94[];
+ extern ExtCompact hologram_b_ext;
+ extern Compact hologram_b;
+ extern uint16 holo1_b_anim[];
+ extern Compact door_l94;
+ extern uint16 door_l94r_anim[];
+ extern uint16 sc94_mouse[];
+ extern uint16 anita_holo_talk[];
+ extern Compact hologram_pad;
+ extern uint16 pal94[];
+ extern Compact hologram_a;
+ extern uint16 fast_list_sc95[];
+ extern uint16 weight_anim[];
+ extern uint16 sc95_floor_table[];
+ extern uint16 door_r95_anim[];
+ extern uint16 rs_foster_95_96[];
+ extern Compact door_r95f;
+ extern uint16 pal95[];
+ extern uint16 chip_list_sc95[];
+ extern uint16 door_l95f_anim[];
+ extern uint16 sc95_logic[];
+ extern Compact weight;
+ extern Compact guardian;
+ extern uint16 rs_foster_95_91[];
+ extern uint16 sc95_mouse[];
+ extern Compact door_r95;
+ extern uint16 rs_foster_95_94[];
+ extern Compact door_t95;
+ extern uint16 door_r95f_anim[];
+ extern Compact door_l95;
+ extern Compact door_l95f;
+ extern uint16 door_t95_anim[];
+ extern uint16 door_t95r_anim[];
+ extern uint16 guardian_down[];
+ extern Compact sc95_floor;
+ extern uint16 guardian_up[];
+ extern Compact door_t95r;
+ extern uint16 door_l95_anim[];
+ extern uint16 sc96_mouse[];
+ extern uint16 door_l96f_anim[];
+ extern uint16 sc96_floor_table[];
+ extern Compact sc96_floor;
+ extern uint16 sc96_logic[];
+ extern Compact crystal;
+ extern uint16 rs_foster_96_95[];
+ extern uint16 crystal_break[];
+ extern uint16 pal96[];
+ extern Compact door_l96f;
+ extern Compact virus;
+ extern uint16 crystal_spin[];
+ extern uint16 virus_spin[];
+ extern Compact door_l96;
+ extern uint16 chip_list_sc96[];
+ extern uint16 get_virus[];
+ extern uint16 door_l96_anim[];
+ extern uint16 fast_list_sc96[];
+ extern uint16 s9_floor_table[];
+ extern Compact fake_floor_9;
+ extern uint16 son_work_seq[];
+ extern ExtCompact son_ext;
+ extern Compact son;
+ extern uint16 scandie_seq[];
+ extern uint16 lobby_down_seq[];
+ extern uint16 s9_mouse[];
+ extern uint16 scan_seq[];
+ extern uint16 dad_work_seq[];
+ extern Compact linc_s9;
+ extern uint16 dad_work3_seq[];
+ extern ExtCompact dad_ext;
+ extern Compact dad;
+ extern uint16 dad_work2_seq[];
+ extern Compact s9_floor;
+ extern Compact left_exit_s9;
+ extern uint16 fans_seq[];
+ extern Compact fans;
+ extern Compact lobby_slot;
+ extern Compact scanner;
+ extern uint16 card_in_seq[];
+ extern uint16 lobby_up_seq[];
+ extern Compact lobby_door;
+ extern uint16 rs_foster_to_9[];
+ extern uint16 rs_foster_10_9[];
+ extern uint16 s9_logic[];
+ extern uint16 s9_chip_list[];
+ extern uint16 s9_pal[];
+ extern uint16 window_mouse[];
+ extern uint16 logon[];
+ extern uint16 note_module[];
+ extern uint16 window_logic[];
+ extern uint16 crouch_right_b[];
+ extern uint16 crouch_down[];
+ extern uint16 auth_module[];
+ extern Compact window_3;
+ extern Compact info_button;
+ extern uint16 size_module[];
+ extern Compact window_2;
+ extern uint16 logoff[];
+ extern uint16 enter_top[];
+ extern uint16 crouch_right[];
+ extern Compact window_1;
+ extern uint16 exit_top[];
+ extern uint16 shrug[];
+ extern uint16 head_module[];
+ extern uint16 crouch_right_a[];
+ extern uint16 file_module[];
+ extern uint16 crouch_left[];
+ extern Compact window_4;
+ extern uint16 rs_foster_s90[];
+ extern Compact playbak_menu;
+ extern Compact persona_menu;
+ extern Compact info_menu;
+ extern Compact decrypt_menu;
+ extern uint16 linc_menu_mouse[];
+ extern Compact kill_menu;
+ extern Compact read_menu;
+ extern Compact orders_menu;
+ extern Compact report_menu;
+ extern Compact virus_menu;
+ extern Compact adjust_menu;
+ extern Compact charon_menu;
+ extern Compact orders2_menu;
+ extern Compact report2_menu;
+ extern Compact oscill_menu;
+ extern Compact join_menu;
+ extern Compact green_menu;
+ extern uint16 linc_menu_logic[];
+ extern Compact adjust2_menu;
+ extern Compact red_menu;
+ extern Compact open_menu;
+ extern Compact decomp_menu;
+ extern Compact blind_menu;
+ extern Compact blank5;
+ extern Compact tape_menu;
+ extern Compact right_arrow;
+ extern uint16 move_2[];
+ extern Compact glass_menu;
+ extern Compact lightbulb_menu;
+ extern Compact blank3;
+ extern Compact wd40_menu;
+ extern Compact plaster_menu;
+ extern Compact new_cable_menu;
+ extern Compact blank8;
+ extern Compact joeyb_menu;
+ extern uint16 move_menu[];
+ extern uint16 *move_list[];
+ extern Compact blank6;
+ extern Compact shades_menu;
+ extern Compact citycard_menu;
+ extern Compact blank9;
+ extern Compact rope_menu;
+ extern Compact left_arrow;
+ extern Compact magazine_menu;
+ extern Compact gallcard_menu;
+ extern Compact dog_food_menu;
+ extern Compact blank7;
+ extern Compact blank2;
+ extern Compact blank11;
+ extern Compact anchor_menu;
+ extern Compact anita_card_menu;
+ extern Compact tongs_menu;
+ extern Compact blank4;
+ extern Compact crow_bar_menu;
+ extern Compact secateurs_menu;
+ extern Compact sarnie_menu;
+ extern Compact spanner_menu;
+ extern Compact blank10;
+ extern Compact skey_menu;
+ extern Compact blank1;
+ extern Compact ticket_menu;
+ extern Compact brick_menu;
+ extern Compact putty_menu;
+ extern Compact menu_bar;
+ extern uint16 fradman_up[];
+ extern uint16 high_floor_table[];
+ extern Compact floor;
+ extern uint16 wjoey_d_to_u[];
+ extern uint16 wjoey_st_left[];
+ extern uint16 ljoey_r_to_d[];
+ extern uint16 s2_talk_table[];
+ extern Compact r_talk_s2;
+ extern uint16 fradman_u_to_d[];
+ extern uint16 door_table[];
+ extern uint16 mfoster_st_right[];
+ extern uint16 bfoster_st_right[];
+ extern uint16 seq3_pal[];
+ extern uint16 bfoster_u_to_r[];
+ extern uint16 foster_l_to_t[];
+ extern uint16 s9_fast_list[];
+ extern uint16 wjoey_st_up[];
+ extern uint16 bfoster_r_to_u[];
+ extern uint16 monitor_left[];
+ extern uint16 rs_lamb_to_three[];
+ extern uint16 std_menu_logic[];
+ extern uint16 but_7[];
+ extern uint16 ljoey_up[];
+ extern uint16 wjoey_r_to_d[];
+ extern Compact small_door;
+ extern uint16 shrug_seq[];
+ extern uint16 foster_up[];
+ extern uint16 mfoster_d_to_l[];
+ extern uint16 ljoey_down[];
+ extern uint16 rs_blanks_linc[];
+ extern uint16 mini_shrug_seq[];
+ extern uint16 talk_table[];
+ extern uint16 fradman_l_to_d[];
+ extern uint16 low_floor_table[];
+ extern Compact low_floor;
+ extern uint16 bfoster_d_to_u[];
+ extern uint16 but_0[];
+ extern uint16 but_4[];
+ extern uint16 fradman_right[];
+ extern uint16 bfoster_st_left[];
+ extern uint16 sjoey_up[];
+ extern uint16 s10_fast_list[];
+ extern uint16 fradman_u_to_l[];
+ extern uint16 ljoey_r_to_u[];
+ extern uint16 foster_u_to_l[];
+ extern uint16 lamb_up[];
+ extern uint16 lamb_down[];
+ extern uint16 lamb_left[];
+ extern uint16 lamb_right[];
+ extern uint16 lamb_st_up[];
+ extern uint16 lamb_st_down[];
+ extern uint16 lamb_st_left[];
+ extern uint16 lamb_st_right[];
+ extern uint16 lamb_st_talk[];
+ extern uint16 lamb_u_to_d[];
+ extern uint16 lamb_u_to_l[];
+ extern uint16 lamb_u_to_r[];
+ extern uint16 lamb_d_to_u[];
+ extern uint16 lamb_d_to_l[];
+ extern uint16 lamb_d_to_r[];
+ extern uint16 lamb_l_to_u[];
+ extern uint16 lamb_l_to_d[];
+ extern uint16 lamb_l_to_r[];
+ extern uint16 lamb_r_to_u[];
+ extern uint16 lamb_r_to_d[];
+ extern uint16 lamb_r_to_l[];
+ extern uint16 *lamb_turnTable[5][5];
+ extern ExtCompact lamb_ext;
+ extern Compact lamb;
+ extern uint16 bfoster_left[];
+ extern uint16 fast_intro[];
+ extern uint16 foster_st_right[];
+ extern uint16 monitor_st_up[];
+ extern uint16 sjoey_d_to_r[];
+ extern uint16 foster_st_down[];
+ extern uint16 mfoster_u_to_r[];
+ extern uint16 sml_up_mid_get_seq[];
+ extern uint16 mfoster_u_to_d[];
+ extern uint16 wjoey_u_to_d[];
+ extern uint16 chip_intro[];
+ extern uint16 fast_list_0[];
+ extern uint16 rs_right_arrow[];
+ extern uint16 ljoey_st_left[];
+ extern uint16 s28_fast_list[];
+ extern uint16 monitor_right[];
+ extern uint16 wjoey_st_down[];
+ extern uint16 r2_floor_table[];
+ extern Compact s2_floor;
+ extern uint16 fradman_down[];
+ extern uint16 foster_u_to_d[];
+ extern uint16 ljoey_d_to_r[];
+ extern uint16 mfoster_r_to_u[];
+ extern uint16 fast_list_sc3[];
+ extern uint16 rs_left_arrow[];
+ extern uint16 rs_l_arr_linc[];
+ extern Compact text_8;
+ extern uint16 wjoey_l_to_d[];
+ extern uint16 stair_table[];
+ extern Compact stairs;
+ extern uint16 text_mouse[];
+ extern uint16 monitor_d_to_r[];
+ extern uint16 ljoey_l_to_d[];
+ extern uint16 sjoey_st_right[];
+ extern uint16 sjoey_st_down[];
+ extern uint16 sjoey_st_left[];
+ extern uint16 upstair_table[];
+ extern uint16 sjoey_right[];
+ extern uint16 ljoey_u_to_r[];
+ extern uint16 mfoster_st_up[];
+ extern uint16 mfoster_st_down[];
+ extern uint16 foster_st_talk[];
+ extern uint16 mfoster_l_to_r[];
+ extern uint16 bar_table[];
+ extern uint16 foster_d_to_l[];
+ extern Compact text_1;
+ extern uint16 fradman_left[];
+ extern uint16 s29_fast_list[];
+ extern uint16 r1door_table[];
+ extern Compact r1_door;
+ extern Compact upstairs;
+ extern uint16 ljoey_u_to_d[];
+ extern uint16 monitor_u_to_l[];
+ extern uint16 fradman_st_right[];
+ extern uint16 sml_door_table[];
+ extern uint16 bfoster_r_to_l[];
+ extern uint16 mfoster_left[];
+ extern uint16 wjoey_up[];
+ extern uint16 foster_r_to_u[];
+ extern uint16 mfoster_d_to_u[];
+ extern uint16 but_8[];
+ extern uint16 but_5[];
+ extern uint16 monitor_l_to_u[];
+ extern uint16 mfoster_l_to_u[];
+ extern uint16 bfoster_d_to_r[];
+ extern uint16 wjoey_down[];
+ extern Compact text_10;
+ extern uint16 monitor_u_to_d[];
+ extern Compact text_5;
+ extern uint16 forklift1_cdt[];
+ extern uint16 bfoster_up[];
+ extern uint16 s11_fast_list[];
+ extern uint16 fradman_d_to_u[];
+ extern uint16 monitor_r_to_u[];
+ extern uint16 bfoster_down[];
+ extern uint16 ledge_table[];
+ extern uint16 ljoey_d_to_u[];
+ extern uint16 foster_left[];
+ extern uint16 sjoey_st_up[];
+ extern uint16 fradman_l_to_r[];
+ extern Compact outside_ledge;
+ extern uint16 fradman_st_up[];
+ extern uint16 foster_l_to_u[];
+ extern uint16 foster_u_to_t[];
+ extern uint16 ljoey_d_to_l[];
+ extern uint16 ljoey_left[];
+ extern uint16 ljoey_right[];
+ extern uint16 ljoey_st_up[];
+ extern uint16 ljoey_st_down[];
+ extern uint16 ljoey_st_right[];
+ extern uint16 ljoey_u_to_l[];
+ extern uint16 ljoey_l_to_u[];
+ extern uint16 ljoey_l_to_r[];
+ extern uint16 ljoey_r_to_l[];
+ extern uint16 wjoey_left[];
+ extern uint16 wjoey_right[];
+ extern uint16 wjoey_st_right[];
+ extern uint16 wjoey_u_to_l[];
+ extern uint16 wjoey_u_to_r[];
+ extern uint16 wjoey_d_to_l[];
+ extern uint16 wjoey_d_to_r[];
+ extern uint16 wjoey_l_to_u[];
+ extern uint16 wjoey_l_to_r[];
+ extern uint16 wjoey_r_to_u[];
+ extern uint16 wjoey_r_to_l[];
+ extern uint16 sjoey_down[];
+ extern uint16 sjoey_left[];
+ extern uint16 sjoey_u_to_d[];
+ extern uint16 sjoey_u_to_l[];
+ extern uint16 sjoey_u_to_r[];
+ extern uint16 sjoey_d_to_u[];
+ extern uint16 sjoey_d_to_l[];
+ extern uint16 sjoey_l_to_u[];
+ extern uint16 sjoey_l_to_d[];
+ extern uint16 sjoey_l_to_r[];
+ extern uint16 sjoey_r_to_u[];
+ extern uint16 sjoey_r_to_d[];
+ extern uint16 sjoey_r_to_l[];
+ extern UnknownStuff joey_unk;
+ extern uint16 *joey_turnTable[5][5];
+ extern ExtCompact joey_ext;
+ extern Compact joey;
+ extern uint16 baby_logic_list[];
+ extern uint16 save_restore_mouse[];
+ extern uint16 fradman_r_to_l[];
+ extern uint16 foster_right[];
+ extern uint16 seq2_pal[];
+ extern uint16 seq1_pal[];
+ extern uint16 bfoster_r_to_d[];
+ extern uint16 low_get_seq[];
+ extern uint16 fradman_u_to_r[];
+ extern uint16 rs_mega_alive[];
+ extern Compact whole_screen;
+ extern uint16 bfoster_u_to_l[];
+ extern Compact bar;
+ extern uint16 foster_st_left[];
+ extern uint16 monitor_l_to_r[];
+ extern uint16 rs_lamb_start_3[];
+ extern uint16 forklift2_cdt[];
+ extern Compact talk2;
+ extern Compact text_4;
+ extern uint16 mfoster_d_to_r[];
+ extern Compact door;
+ extern uint16 foster_d_to_u[];
+ extern uint16 park_table[];
+ extern uint16 mfoster_up[];
+ extern uint16 mfoster_down[];
+ extern uint16 mfoster_right[];
+ extern uint16 mfoster_st_left[];
+ extern uint16 mfoster_u_to_l[];
+ extern uint16 mfoster_l_to_d[];
+ extern uint16 mfoster_r_to_d[];
+ extern uint16 mfoster_r_to_l[];
+ extern uint16 foster_down[];
+ extern uint16 foster_st_up[];
+ extern uint16 foster_u_to_r[];
+ extern uint16 foster_d_to_r[];
+ extern uint16 foster_l_to_d[];
+ extern uint16 foster_l_to_r[];
+ extern uint16 foster_r_to_d[];
+ extern uint16 foster_r_to_l[];
+ extern uint16 foster_t_to_u[];
+ extern uint16 foster_t_to_l[];
+ extern uint16 fradman_st_down[];
+ extern uint16 fradman_st_left[];
+ extern uint16 fradman_st_talk[];
+ extern uint16 fradman_d_to_l[];
+ extern uint16 fradman_d_to_r[];
+ extern uint16 fradman_l_to_u[];
+ extern uint16 fradman_r_to_u[];
+ extern uint16 fradman_r_to_d[];
+ extern uint16 bfoster_right[];
+ extern uint16 bfoster_st_up[];
+ extern uint16 bfoster_st_down[];
+ extern uint16 bfoster_u_to_d[];
+ extern uint16 bfoster_d_to_l[];
+ extern uint16 bfoster_l_to_u[];
+ extern uint16 bfoster_l_to_d[];
+ extern uint16 bfoster_l_to_r[];
+ extern UnknownStuff foster_unk;
+ extern uint16 *foster_turnTable[5][5];
+ extern ExtCompact foster_ext;
+ extern Compact foster;
+ extern uint16 monitor_up[];
+ extern uint16 s0_fast_list[];
+ extern uint16 s7_fast_list[];
+ extern uint16 monitor_st_talk[];
+ extern uint16 fast_list_sc90[];
+ extern uint16 but_2[];
+ extern uint16 but_3[];
+ extern uint16 monitor_st_down[];
+ extern uint16 but_9[];
+ extern Compact text_11;
+ extern Compact joey_park;
+ extern Compact coordinate_test;
+ extern Compact text_2;
+ extern Compact text_3;
+ extern Compact text_6;
+ extern Compact text_7;
+ extern Compact text_9;
+ extern uint16 rad_shrug_seq[];
+ extern uint16 rs_lamb_start_2[];
+ extern uint16 s6_fast_list[];
+ extern uint16 swing_list[];
+ extern Compact right_exit0;
+ extern uint16 rs_blank[];
+ extern uint16 monitor_down[];
+ extern uint16 monitor_st_left[];
+ extern uint16 monitor_st_right[];
+ extern uint16 monitor_u_to_r[];
+ extern uint16 monitor_d_to_u[];
+ extern uint16 monitor_d_to_l[];
+ extern uint16 monitor_l_to_d[];
+ extern uint16 monitor_r_to_d[];
+ extern uint16 monitor_r_to_l[];
+ extern uint16 *monitor_turnTable[5][5];
+ extern ExtCompact monitor_ext;
+ extern Compact monitor;
+ extern ExtCompact anita_ext;
+ extern Compact anita;
+ extern uint16 rs_r_arr_linc[];
+ extern uint16 s5_fast_list[];
+ extern uint16 but_e[];
+ extern uint16 but_1[];
+ extern uint16 but_6[];
+ extern uint16 fast_intro_2[];
+ extern uint16 fast_intro_3[];
+ extern uint16 retina_scan_cdt[];
+ extern Compact forklift_cpt;
+ extern void *data_0[];
+};
+
+#endif
diff --git a/sky/debug.cpp b/sky/debug.cpp
new file mode 100644
index 0000000000..70b5951758
--- /dev/null
+++ b/sky/debug.cpp
@@ -0,0 +1,418 @@
+/* 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$
+ *
+ */
+
+#include "sky/debug.h"
+
+static const char *section_0_compacts[] = {
+ "UNDEFINED",
+ "joey",
+ "joey_park",
+ "foster",
+ "std_menu_logic",
+ "text_mouse",
+ "gallcard_menu",
+ "rs_mega_alive",
+ "citycard_menu",
+ "shades_menu",
+ "putty_menu",
+ "lightbulb_menu",
+ "low_get_seq",
+ "mini_shrug_seq",
+ "sml_up_mid_get_seq",
+ "new_grid",
+ "lamb",
+ "floor",
+ "coordinate_test",
+ "save_restore_mouse",
+ "whole_screen",
+ "l_talk_s2",
+ "r_talk_s2",
+ "text_1",
+ "text_2",
+ "text_3",
+ "text_4",
+ "text_5",
+ "text_6",
+ "text_7",
+ "text_8",
+ "text_9",
+ "text_10",
+ "text_11",
+ "wd40_menu",
+ "skey_menu",
+ "secateurs_menu",
+ "rope_menu",
+ "plaster_menu",
+ "new_cable_menu",
+ "shrug_seq",
+ "rad_shrug_seq",
+ "brick_menu",
+ "tongs_menu",
+ "talk1",
+ "talk2",
+ "menu_bar",
+ "left_arrow",
+ "right_arrow",
+ "dog_food_menu",
+ "UNDEFINED",
+ "blank1",
+ "blank2",
+ "blank3",
+ "blank4",
+ "blank5",
+ "blank6",
+ "blank7",
+ "blank8",
+ "blank9",
+ "blank10",
+ "blank11",
+ "UNDEFINED",
+ "crow_bar_menu",
+ "sarnie_menu",
+ "spanner_menu",
+ "joeyb_menu",
+ "low_floor",
+ "UNDEFINED",
+ "stairs",
+ "upstairs",
+ "anita_card_menu",
+ "rs_lamb_to_three",
+ "rs_lamb_start_2",
+ "anchor_menu",
+ "magazine_menu",
+ "tape_menu",
+ "glass_menu",
+ "rs_lamb_start_3",
+ "ticket_menu",
+ "s29_fast_list",
+ "s6_fast_list",
+ "fast_list_sc3",
+ "s9_fast_list",
+ "s10_fast_list",
+ "bar",
+ "s11_fast_list",
+ "fast_list_0",
+ "s0_fast_list",
+ "s7_fast_list",
+ "door",
+ "s28_fast_list",
+ "swing_list",
+ "UNDEFINED",
+ "UNDEFINED",
+ "outside_ledge",
+ "UNDEFINED",
+ "r1_door",
+ "UNDEFINED",
+ "UNDEFINED",
+ "UNDEFINED",
+ "UNDEFINED",
+ "fast_list_sc90",
+ "UNDEFINED",
+ "UNDEFINED",
+ "small_door",
+ "sc85_fast_list",
+ "sc85_chip_list",
+ "sc85_logic_list",
+ "sc85_mouse_list",
+ "sc85_palette",
+ "right_exit0",
+ "UNDEFINED",
+ "UNDEFINED",
+ "UNDEFINED",
+ "s2_floor",
+ "UNDEFINED",
+ "s101_chip_list",
+ "s101_pal",
+ "s101_mouse",
+ "s101_logic",
+ "full_screen",
+ "cancel_button",
+ "button_0",
+ "button_1",
+ "button_2",
+ "button_3",
+ "button_4",
+ "button_5",
+ "button_6",
+ "button_7",
+ "button_8",
+ "button_9",
+ "rs_left_arrow",
+ "rs_right_arrow",
+ "rs_blank",
+ "monitor",
+ "anita",
+ "UNDEFINED",
+ "UNDEFINED",
+ "UNDEFINED",
+ "baby_logic_list",
+ "rs_l_arr_linc",
+ "rs_r_arr_linc",
+ "rs_blanks_linc",
+ "s5_fast_list",
+ "but_e",
+ "but_0",
+ "but_1",
+ "but_2",
+ "but_3",
+ "but_4",
+ "but_5",
+ "but_6",
+ "but_7",
+ "but_8",
+ "but_9",
+ "UNDEFINED",
+ "s102_chip_list",
+ "s102_pal",
+ "s102_logic",
+ "s102_mouse",
+ "restart_butt",
+ "restart_seq",
+ "restore_butt",
+ "restore_seq",
+ "seq1_pal",
+ "seq2_pal",
+ "seq3_pal",
+ "fast_intro",
+ "chip_intro",
+ "fast_intro_2",
+ "fast_intro_3",
+ "retina_scan",
+ "retina_scan_cdt",
+ "exit_butt",
+ "exit_seq",
+ "forklift_cpt",
+ "forklift1_cdt",
+ "forklift2_cdt",
+};
+
+static const char *logic_table_names[] = {
+ "return",
+ "SkyLogic::script",
+ "SkyLogic::auto_route",
+ "SkyLogic::ar_anim",
+ "SkyLogic::ar_turn",
+ "SkyLogic::alt",
+ "SkyLogic::anim",
+ "SkyLogic::turn",
+ "SkyLogic::cursor",
+ "SkyLogic::talk",
+ "SkyLogic::listen",
+ "SkyLogic::stopped",
+ "SkyLogic::choose",
+ "SkyLogic::frames",
+ "SkyLogic::pause",
+ "SkyLogic::wait_sync",
+ "SkyLogic::simple_anim",
+};
+
+static const char opcode_par[] = {
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 1,
+ 1,
+ 0,
+ 0,
+ 1,
+ 0,
+ 2,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+};
+
+static const char *opcodes[] = {
+ "push_variable",
+ "less_than",
+ "push_number",
+ "not_equal",
+ "if_and",
+ "skip_zero",
+ "pop_var",
+ "minus",
+ "plus",
+ "skip_always",
+ "if_or",
+ "call_mcode",
+ "more_than",
+ "script_exit",
+ "switch",
+ "push_offset",
+ "pop_offset",
+ "is_equal",
+ "skip_nz",
+ "script_exit",
+ "restart_script",
+};
+
+static const char *mcodes[] = {
+ "fn_cache_chip",
+ "fn_cache_fast",
+ "fn_draw_screen",
+ "fn_ar",
+ "fn_ar_animate",
+ "fn_idle",
+ "fn_interact",
+ "fn_start_sub",
+ "fn_they_start_sub",
+ "fn_assign_base",
+ "fn_disk_mouse",
+ "fn_normal_mouse",
+ "fn_blank_mouse",
+ "fn_cross_mouse",
+ "fn_cursor_right",
+ "fn_cursor_left",
+ "fn_cursor_down",
+ "fn_open_hand",
+ "fn_close_hand",
+ "fn_get_to",
+ "fn_set_to_stand",
+ "fn_turn_to",
+ "fn_arrived",
+ "fn_leaving",
+ "fn_set_alternate",
+ "fn_alt_set_alternate",
+ "fn_kill_id",
+ "fn_no_human",
+ "fn_add_human",
+ "fn_add_buttons",
+ "fn_no_buttons",
+ "fn_set_stop",
+ "fn_clear_stop",
+ "fn_pointer_text",
+ "fn_quit",
+ "fn_speak_me",
+ "fn_speak_me_dir",
+ "fn_speak_wait",
+ "fn_speak_wait_dir",
+ "fn_chooser",
+ "fn_highlight",
+ "fn_text_kill",
+ "fn_stop_mode",
+ "fn_we_wait",
+ "fn_send_sync",
+ "fn_send_fast_sync",
+ "fn_send_request",
+ "fn_clear_request",
+ "fn_check_request",
+ "fn_start_menu",
+ "fn_unhighlight",
+ "fn_face_id",
+ "fn_foreground",
+ "fn_background",
+ "fn_new_background",
+ "fn_sort",
+ "fn_no_sprite_engine",
+ "fn_no_sprites_a6",
+ "fn_reset_id",
+ "fn_toggle_grid",
+ "fn_pause",
+ "fn_run_anim_mod",
+ "fn_simple_mod",
+ "fn_run_frames",
+ "fn_await_sync",
+ "fn_inc_mega_set",
+ "fn_dec_mega_set",
+ "fn_set_mega_set",
+ "fn_move_items",
+ "fn_new_list",
+ "fn_ask_this",
+ "fn_random",
+ "fn_person_here",
+ "fn_toggle_mouse",
+ "fn_mouse_on",
+ "fn_mouse_off",
+ "fn_fetch_x",
+ "fn_fetch_y",
+ "fn_test_list",
+ "fn_fetch_place",
+ "fn_custom_joey",
+ "fn_set_palette",
+ "fn_text_module",
+ "fn_change_name",
+ "fn_mini_load",
+ "fn_flush_buffers",
+ "fn_flush_chip",
+ "fn_save_coods",
+ "fn_plot_grid",
+ "fn_remove_grid",
+ "fn_eyeball",
+ "fn_cursor_up",
+ "fn_leave_section",
+ "fn_enter_section",
+ "fn_restore_game",
+ "fn_restart_game",
+ "fn_new_swing_seq",
+ "fn_wait_swing_end",
+ "fn_skip_intro_code",
+ "fn_blank_screen",
+ "fn_print_credit",
+ "fn_look_at",
+ "fn_linc_text_module",
+ "fn_text_kill2",
+ "fn_set_font",
+ "fn_start_fx",
+ "fn_stop_fx",
+ "fn_start_music",
+ "fn_stop_music",
+ "fn_fade_down",
+ "fn_fade_up",
+ "fn_quit_to_dos",
+ "fn_pause_fx",
+ "fn_un_pause_fx",
+ "fn_printf",
+};
+
+void SkyDebug::fetchCompact(uint32 a) {
+ uint32 sectionNum = (a & 0xf000) >> 12;
+ uint32 compactNum = (a & 0x0fff);
+
+ if (sectionNum == 0)
+ printf("Loading Compact %s from section %d\n", section_0_compacts[compactNum], sectionNum);
+ else
+ printf("Loading Compact %d from section %d\n", compactNum, sectionNum);
+}
+
+void SkyDebug::logic(uint32 logic) {
+ printf("LOGIC: %s\n", logic_table_names[logic]);
+}
+
+void SkyDebug::script(uint32 command, uint16 *scriptData) {
+ int i;
+ printf("SCRIPT: %s", opcodes[command]);
+ for (i = 0; i < opcode_par[command]; i++)
+ printf(" %d", *(scriptData + i));
+ printf("\n");
+}
+
+void SkyDebug::mcode(uint32 mcode, uint32 a, uint32 b, uint32 c) {
+ printf("MCODE: %s(%d, %d, %d)\n", mcodes[mcode], a, b, c);
+};
+
diff --git a/sky/debug.h b/sky/debug.h
new file mode 100644
index 0000000000..1e36e7c1b5
--- /dev/null
+++ b/sky/debug.h
@@ -0,0 +1,31 @@
+/* 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$
+ *
+ */
+
+#include "sky/sky.h"
+
+class SkyDebug {
+public:
+ static void fetchCompact(uint32 a);
+ static void logic(uint32 logic);
+ static void script(uint32 command, uint16 *scriptData);
+ static void mcode(uint32 mcode, uint32 a, uint32 b, uint32 c);
+};
+
diff --git a/sky/logic.cpp b/sky/logic.cpp
new file mode 100644
index 0000000000..1c39929912
--- /dev/null
+++ b/sky/logic.cpp
@@ -0,0 +1,1099 @@
+/* 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$
+ *
+ */
+
+#include "sky/logic.h"
+#include "sky/debug.h"
+#include "sky/compact.h"
+#include "sky/skydefs.h"
+
+
+typedef void (SkyLogic::*LogicTable) ();
+static const LogicTable logicTable[] = {
+ &SkyLogic::lreturn,
+ &SkyLogic::logicScript, // 1 script processor
+ &SkyLogic::autoRoute, // 2 Make a route
+ &SkyLogic::arAnim, // 3 Follow a route
+ &SkyLogic::arTurn, // 4 Mega turns araound
+ &SkyLogic::alt, // 5 Set up new get-to script
+ &SkyLogic::anim, // 6 Follow a sequence
+ &SkyLogic::turn, // 7 Mega turning
+ &SkyLogic::cursor, // 8 id tracks the pointer
+ &SkyLogic::talk, // 9 count down and animate
+ &SkyLogic::listen, // 10 player waits for talking id
+ &SkyLogic::stopped, // 11 wait for id to move
+ &SkyLogic::choose, // 12 wait for player to click
+ &SkyLogic::frames, // 13 animate just frames
+ &SkyLogic::pause, // 14 Count down to 0 and go
+ &SkyLogic::waitSync, // 15 Set to l_script when sync!=0
+ &SkyLogic::simpleAnim, // 16 Module anim without x,y's
+};
+
+
+void SkyLogic::engine() {
+#define logic_list_no 141
+ Compact *compact2 = SkyState::fetchCompact(141); // logic list
+
+ while (compact2->logic) { // 0 means end of list
+ if (compact2->logic == 0xffff) {
+ // Change logic data address
+ compact2 = SkyState::fetchCompact(compact2->status);
+ continue;
+ }
+
+ // Process id eax
+ //cur_id = compact2->logic;
+ _compact = SkyState::fetchCompact(compact2->logic);
+
+ // check the id actually wishes to be processed
+ if (!(_compact->status & (1 << 6)))
+ continue;
+
+ // ok, here we process the logic bit system
+
+ if (_compact->status & (1 << 7))
+ warning("remove_object_from_walk unimplemented");
+ // remove_object_from_walk();
+
+ SkyDebug::logic(_compact->logic);
+ (this->*logicTable[_compact->logic]) ();
+
+ if (_compact->status & (1 << 7))
+ warning("object_to_walk unimplemented");
+ // object_to_walk();
+
+ // a sync sent to the compact is available for one cycle
+ // only. that cycle has just ended so remove the sync.
+ // presumably the mega has just reacted to it.
+ _compact->sync = 0;
+ }
+}
+
+void SkyLogic::lreturn() {
+ error("lreturn: Is this really called?");
+}
+
+void SkyLogic::logicScript() {
+ // Process the current mega's script
+ // If the script finishes then drop back a level
+
+ for (;;) {
+ uint16 mode = _compact->mode; // get pointer to current script
+ printf("compact mode: %d\n", mode);
+ // FIXME: not endian safe
+ uint32 *p = (uint32 *)SkyCompact::getCompactElem(_compact, C_BASE_SUB + mode);
+ uint32 scr = *p; // get script number and offset
+
+ // FIXME: HACK ALERT!!!!
+ if (scr == 0x27)
+ scr = 0x9fa0027;
+
+ printf("script: 0x%X\n", scr);
+ *p = script(_compact, scr);
+
+ if (!(*p & 0xffff0000)) // script finished
+ _compact->mode -= 4;
+ else if (_compact->mode == mode)
+ return;
+ }
+}
+
+void SkyLogic::autoRoute() {
+ error("autoRoute unimplented");
+ uint16 *route;
+ route = 0;
+
+ warning("autoRoute unimplemented");
+ uint32 ret = 0; // = autoRoute(route);
+
+ _compact->logic = L_SCRIPT; // continue the script
+
+ if (ret != 1) // route failed
+ _compact->downFlag = 1; // return fail to script
+ else if (!route) // zero route
+ _compact->downFlag = 2; // return fail to script
+ else {
+ _compact->grafixProg = route; // put graphic prog in
+ _compact->downFlag = 0; // route ok
+ }
+
+ logicScript();
+ return;
+}
+
+void SkyLogic::arAnim() {
+ error("Stub: SkyLogic::arAnim");
+}
+
+void SkyLogic::arTurn() {
+ _compact->frame = *(uint16 *)(_compact->extCompact->turnProg);
+ ((uint16 *)(_compact->extCompact->turnProg))++;
+
+ if (!*(uint16 *)(_compact->extCompact->turnProg)) { // turn done?
+ // Back to ar mode
+ _compact->extCompact->arAnimIndex = 0;
+ _compact->logic = L_AR_ANIM;
+ }
+}
+
+void SkyLogic::alt() {
+ // change the current script
+
+ _compact->logic = L_SCRIPT;
+ // FIXME: not endian safe
+ uint32 *p = (uint32 *)SkyCompact::getCompactElem(_compact, C_BASE_SUB + _compact->mode);
+ *p = _compact->extCompact->alt;
+
+ logicScript();
+}
+
+void SkyLogic::anim() {
+ error("Stub: SkyLogic::anim");
+}
+
+void SkyLogic::turn() {
+ if (*(uint16 *)(_compact->extCompact->turnProg)) {
+ _compact->frame = *(uint16 *)(_compact->extCompact->turnProg);
+ ((uint16 *)(_compact->extCompact->turnProg))++;
+ return;
+ }
+
+ // turn_to_script:
+
+ _compact->extCompact->arAnimIndex = 0;
+ _compact->logic = L_SCRIPT;
+
+ logicScript();
+}
+
+void SkyLogic::cursor() {
+ error("Stub: SkyLogic::cursor");
+}
+
+void SkyLogic::talk() {
+ error("Stub: SkyLogic::talk");
+}
+
+void SkyLogic::listen() {
+ error("Stub: SkyLogic::listen");
+}
+
+void SkyLogic::stopped() {
+ error("Stub: SkyLogic::stopped");
+}
+
+void SkyLogic::choose() {
+ error("Stub: SkyLogic::choose");
+}
+
+void SkyLogic::frames() {
+ error("Stub: SkyLogic::frames");
+}
+
+void SkyLogic::pause() {
+ error("Stub: SkyLogic::pause");
+}
+
+void SkyLogic::waitSync() {
+ error("Stub: SkyLogic::waitSync");
+}
+
+void SkyLogic::simpleAnim() {
+ error("Stub: SkyLogic::simpleAnim");
+}
+
+
+
+static uint16 *_moduleList[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+static uint32 _stack[20];
+static byte _stackPtr = 0;
+#define f_module_0 60400
+
+void SkyLogic::checkModuleLoaded(uint32 moduleNo) {
+ if (!_moduleList[moduleNo])
+ _moduleList[moduleNo] = (uint16 *)_skyDisk->loadFile(moduleNo + f_module_0, NULL);
+}
+
+void SkyLogic::push(uint32 a) {
+ assert(_stackPtr < 19);
+ _stack[_stackPtr] = a;
+ _stackPtr++;
+}
+
+uint32 SkyLogic::pop() {
+ assert(_stackPtr > 0);
+ --_stackPtr;
+ return _stack[_stackPtr];
+}
+
+typedef uint32 (SkyLogic::*McodeTable) (uint32, uint32, uint32);
+static McodeTable mcodeTable[] = {
+ &SkyLogic::fnCacheChip,
+ &SkyLogic::fnCacheFast,
+ &SkyLogic::fnDrawScreen,
+ &SkyLogic::fnAr,
+ &SkyLogic::fnArAnimate,
+ &SkyLogic::fnIdle,
+ &SkyLogic::fnInteract,
+ &SkyLogic::fnStartSub,
+ &SkyLogic::fnTheyStartSub,
+ &SkyLogic::fnAssignBase,
+ &SkyLogic::fnDiskMouse,
+ &SkyLogic::fnNormalMouse,
+ &SkyLogic::fnBlankMouse,
+ &SkyLogic::fnCrossMouse,
+ &SkyLogic::fnCursorRight,
+ &SkyLogic::fnCursorLeft,
+ &SkyLogic::fnCursorDown,
+ &SkyLogic::fnOpenHand,
+ &SkyLogic::fnCloseHand,
+ &SkyLogic::fnGetTo,
+ &SkyLogic::fnSetToStand,
+ &SkyLogic::fnTurnTo,
+ &SkyLogic::fnArrived,
+ &SkyLogic::fnLeaving,
+ &SkyLogic::fnSetAlternate,
+ &SkyLogic::fnAltSetAlternate,
+ &SkyLogic::fnKillId,
+ &SkyLogic::fnNoHuman,
+ &SkyLogic::fnAddHuman,
+ &SkyLogic::fnAddButtons,
+ &SkyLogic::fnNoButtons,
+ &SkyLogic::fnSetStop,
+ &SkyLogic::fnClearStop,
+ &SkyLogic::fnPointerText,
+ &SkyLogic::fnQuit,
+ &SkyLogic::fnSpeakMe,
+ &SkyLogic::fnSpeakMeDir,
+ &SkyLogic::fnSpeakWait,
+ &SkyLogic::fnSpeakWaitDir,
+ &SkyLogic::fnChooser,
+ &SkyLogic::fnHighlight,
+ &SkyLogic::fnTextKill,
+ &SkyLogic::fnStopMode,
+ &SkyLogic::fnWeWait,
+ &SkyLogic::fnSendSync,
+ &SkyLogic::fnSendFastSync,
+ &SkyLogic::fnSendRequest,
+ &SkyLogic::fnClearRequest,
+ &SkyLogic::fnCheckRequest,
+ &SkyLogic::fnStartMenu,
+ &SkyLogic::fnUnhighlight,
+ &SkyLogic::fnFaceId,
+ &SkyLogic::fnForeground,
+ &SkyLogic::fnBackground,
+ &SkyLogic::fnNewBackground,
+ &SkyLogic::fnSort,
+ &SkyLogic::fnNoSpriteEngine,
+ &SkyLogic::fnNoSpritesA6,
+ &SkyLogic::fnResetId,
+ &SkyLogic::fnToggleGrid,
+ &SkyLogic::fnPause,
+ &SkyLogic::fnRunAnimMod,
+ &SkyLogic::fnSimpleMod,
+ &SkyLogic::fnRunFrames,
+ &SkyLogic::fnAwaitSync,
+ &SkyLogic::fnIncMegaSet,
+ &SkyLogic::fnDecMegaSet,
+ &SkyLogic::fnSetMegaSet,
+ &SkyLogic::fnMoveItems,
+ &SkyLogic::fnNewList,
+ &SkyLogic::fnAskThis,
+ &SkyLogic::fnRandom,
+ &SkyLogic::fnPersonHere,
+ &SkyLogic::fnToggleMouse,
+ &SkyLogic::fnMouseOn,
+ &SkyLogic::fnMouseOff,
+ &SkyLogic::fnFetchX,
+ &SkyLogic::fnFetchY,
+ &SkyLogic::fnTestList,
+ &SkyLogic::fnFetchPlace,
+ &SkyLogic::fnCustomJoey,
+ &SkyLogic::fnSetPalette,
+ &SkyLogic::fnTextModule,
+ &SkyLogic::fnChangeName,
+ &SkyLogic::fnMiniLoad,
+ &SkyLogic::fnFlushBuffers,
+ &SkyLogic::fnFlushChip,
+ &SkyLogic::fnSaveCoods,
+ &SkyLogic::fnPlotGrid,
+ &SkyLogic::fnRemoveGrid,
+ &SkyLogic::fnEyeball,
+ &SkyLogic::fnCursorUp,
+ &SkyLogic::fnLeaveSection,
+ &SkyLogic::fnEnterSection,
+ &SkyLogic::fnRestoreGame,
+ &SkyLogic::fnRestartGame,
+ &SkyLogic::fnNewSwingSeq,
+ &SkyLogic::fnWaitSwingEnd,
+ &SkyLogic::fnSkipIntroCode,
+ &SkyLogic::fnBlankScreen,
+ &SkyLogic::fnPrintCredit,
+ &SkyLogic::fnLookAt,
+ &SkyLogic::fnLincTextModule,
+ &SkyLogic::fnTextKill2,
+ &SkyLogic::fnSetFont,
+ &SkyLogic::fnStartFx,
+ &SkyLogic::fnStopFx,
+ &SkyLogic::fnStartMusic,
+ &SkyLogic::fnStopMusic,
+ &SkyLogic::fnFadeDown,
+ &SkyLogic::fnFadeUp,
+ &SkyLogic::fnQuitToDos,
+ &SkyLogic::fnPauseFx,
+ &SkyLogic::fnUnPauseFx,
+ &SkyLogic::fnPrintf,
+};
+
+#define RESULT 1
+void SkyLogic::initScriptVariables() {
+ for (int i = 0; i < 838; i++)
+ _scriptVariables[i] = 0;
+
+ _scriptVariables[3] = 141;
+ _scriptVariables[110] = 62;
+ _scriptVariables[146] = 1;
+ _scriptVariables[147] = 2;
+ _scriptVariables[451] = 8371;
+ _scriptVariables[641] = 1;
+ _scriptVariables[679] = 1;
+ _scriptVariables[694] = 3;
+ _scriptVariables[705] = 1;
+ _scriptVariables[710] = 1;
+ _scriptVariables[711] = 1;
+ _scriptVariables[712] = 1;
+ _scriptVariables[720] = 1;
+ _scriptVariables[721] = 1;
+ _scriptVariables[794] = 1;
+ _scriptVariables[798] = 1;
+ _scriptVariables[799] = 1;
+ _scriptVariables[805] = 1;
+ _scriptVariables[806] = 1;
+ _scriptVariables[807] = 16731;
+ _scriptVariables[808] = 1;
+ _scriptVariables[809] = 2;
+ _scriptVariables[818] = 1;
+ _scriptVariables[819] = 1;
+ _scriptVariables[820] = 1;
+ _scriptVariables[821] = 1;
+ _scriptVariables[822] = 1;
+}
+
+uint32 SkyLogic::script(Compact *compact, uint32 script) {
+script:
+ // process a script
+ // low level interface to interpreter
+
+ // script:
+ // Bit 0-11 - Script number
+ // Bit 12-15 - Module number
+ // Bit 16-31 - Script offset (if any)
+
+ uint16 scriptNo = script & 0xffff;
+ uint16 moduleNo = (script & 0xff00) >> 12;
+ printf("scriptNo: %d, moduleNo: %d\n", scriptNo, moduleNo);
+ uint16 *scriptData = _moduleList[moduleNo]; // get module address
+
+ printf("File: %d\n", moduleNo + f_module_0);
+ if (!scriptData) { // The module has not been loaded
+ scriptData = (uint16 *)_skyDisk->loadFile(moduleNo + f_module_0, NULL);
+ _moduleList[moduleNo] = scriptData; // module has been loaded
+ }
+
+ uint16 *moduleStart = scriptData;
+
+ // Check whether we have an offset or what
+ if (script & 0xffff0000)
+ scriptData = moduleStart + (script >> 16);
+ else
+ scriptData += *(scriptData + (script & 0x0fff));
+
+ uint32 a, b, c;
+ uint16 command, mcode, s;
+ uint16 *tmp;
+ int16 t;
+
+ for (;;) {
+ command = *scriptData++; // get a command
+ SkyDebug::script(command, scriptData);
+
+ switch (command) {
+ case 0: // push_variable
+ s = *scriptData++; // get variable number
+ push( _scriptVariables[s/4] );
+ break;
+ case 1: // less_than
+ a = pop();
+ b = pop();
+ if (a < b)
+ push(1);
+ else
+ push(0);
+ break;
+ case 2: // push_number
+ push(*scriptData++);
+ break;
+ case 3: // not_equal
+ a = pop();
+ b = pop();
+ if (a != b)
+ push(1);
+ else
+ push(0);
+ break;
+ case 4: // if_and
+ a = pop();
+ b = pop();
+ if (a && b)
+ push(1);
+ else
+ push(0);
+ break;
+ case 5: // skip_zero
+ s = *scriptData++;
+
+ a = pop();
+ if (!a)
+ scriptData += s/2;
+ break;
+ case 6: // pop_var
+ s = *scriptData++;
+ _scriptVariables[s/4] = pop();
+ break;
+ case 7: // minus
+ a = pop();
+ b = pop();
+ push(b-a);
+ break;
+ case 8: // plus
+ a = pop();
+ b = pop();
+ push(b+a);
+ break;
+ case 9: // skip_always
+ s = *scriptData++;
+ scriptData += s/2;
+ break;
+ case 10: // if_or
+ a = pop();
+ b = pop();
+ if (a || b)
+ push(1);
+ else
+ push(0);
+ break;
+ case 11: // call_mcode
+ s = *scriptData++;
+
+ a = s;
+ b = c = 0;
+ assert(s <= 3);
+ // No, I did not forget the "break"s
+ switch (s) {
+ case 3:
+ c = pop();
+ case 2:
+ b = pop();
+ case 1:
+ a = pop();
+ }
+
+ // TODO: save stuff (compare asm code)
+ mcode = *scriptData++/4; // get mcode number
+ SkyDebug::mcode(mcode, a, b, c);
+
+ a = (this->*mcodeTable[mcode]) (a, b, c);
+
+ if (!(a & 0xffff))
+ return (((scriptData - moduleStart) << 15) | scriptNo);
+ break;
+ case 12: // more_than
+ a = pop();
+ b = pop();
+ if (a > b)
+ push(1);
+ else
+ push(0);
+ break;
+ case 14: // switch
+ s = *scriptData++; // get number of cases
+
+ a = pop(); // and value to switch on
+
+ do {
+ if (a == *scriptData) {
+ scriptData += *(scriptData + 1)/2;
+ scriptData++;
+ break;
+ }
+ scriptData += 2;
+ } while (--s);
+
+ s = *scriptData++;
+ scriptData += s; // use the default
+ scriptData--;
+ break;
+ case 15: // push_offset
+ // Push a compact access
+ s = *scriptData++;
+ tmp = (uint16 *)SkyCompact::getCompactElem(compact, s);
+ printf("push_offset: %d\n", *tmp);
+ push(*tmp);
+ break;
+ case 16: // pop_offset
+ // pop a value into a compact
+ s = *scriptData++;
+ tmp = (uint16 *)SkyCompact::getCompactElem(compact, s);
+ *tmp = pop();
+ break;
+ case 17: // is_equal
+ a = pop();
+ b = pop();
+ if (a == b)
+ push(1);
+ else
+ push(0);
+ break;
+ case 18: // skip_nz
+ t = *scriptData++;
+ a = pop();
+ if (a)
+ scriptData += t/2;
+ break;
+ case 13:
+ case 19: // script_exit
+ return scriptNo;
+ case 20: // restart_script
+ goto script;
+ default:
+ error("Unknown script command: %d", command);
+ }
+ }
+}
+
+#define C_ACTION_MODE 4
+
+uint32 SkyLogic::fnCacheChip(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnCacheChip");
+}
+
+uint32 SkyLogic::fnCacheFast(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnCacheFast");
+}
+
+uint32 SkyLogic::fnDrawScreen(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnDrawScreen");
+}
+
+uint32 SkyLogic::fnAr(uint32 x, uint32 y, uint32 c) {
+ _compact->downFlag = 1; // assume failure in-case logic is interupted by speech (esp Joey)
+
+ _compact->extCompact->arTargetX = x;
+ _compact->extCompact->arTargetY = y;
+ _compact->logic = L_AR; // Set to AR mode
+
+ _compact->xcood &= 0xfff8;
+ _compact->ycood &= 0xfff8;
+
+ return 0; // drop out of script
+}
+
+uint32 SkyLogic::fnArAnimate(uint32 a, uint32 b, uint32 c) {
+ _compact->mood = 0; // high level 'not stood still'
+ _compact->logic = L_AR_ANIM;
+ return 0; // drop out of script
+}
+
+uint32 SkyLogic::fnIdle(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnIdle");
+}
+
+uint32 SkyLogic::fnInteract(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnInteract");
+}
+
+uint32 SkyLogic::fnStartSub(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnStartSub");
+}
+
+uint32 SkyLogic::fnTheyStartSub(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnTheyStartSub");
+}
+
+uint32 SkyLogic::fnAssignBase(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnAssignBase");
+}
+
+uint32 SkyLogic::fnDiskMouse(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnDiskMouse");
+}
+
+uint32 SkyLogic::fnNormalMouse(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnNormalMouse");
+}
+
+uint32 SkyLogic::fnBlankMouse(uint32 a, uint32 b, uint32 c) {
+ warning("Stub: fnBlankMouse");
+ return 1;
+}
+
+uint32 SkyLogic::fnCrossMouse(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnCrossMouse");
+}
+
+uint32 SkyLogic::fnCursorRight(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnCursorRight");
+}
+
+uint32 SkyLogic::fnCursorLeft(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnCursorLeft");
+}
+
+uint32 SkyLogic::fnCursorDown(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnCursorDown");
+}
+
+uint32 SkyLogic::fnOpenHand(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnOpenHand");
+}
+
+uint32 SkyLogic::fnCloseHand(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnCloseHand");
+}
+
+uint32 SkyLogic::fnGetTo(uint32 targetPlaceId, uint32 mode, uint32 c) {
+ _compact->upFlag = mode; // save mode for action script
+ _compact->mode += 4; // next level up
+ Compact *compact2 = SkyState::fetchCompact(_compact->place);
+ uint16 *getToTable = compact2->getToTable;
+
+ while (*getToTable != targetPlaceId)
+ getToTable += 2;
+
+ // FIXME: not endian safe
+ uint32 *p = (uint32 *)SkyCompact::getCompactElem(_compact, C_BASE_SUB + _compact->mode);
+ *p = *(getToTable + 1); // get new script
+
+ return 0; // drop out of script
+}
+
+uint32 SkyLogic::fnSetToStand(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSetToStand");
+}
+
+uint32 SkyLogic::fnTurnTo(uint32 direction, uint32 b, uint32 c) {
+ error("Stub: fnTurnTo");
+}
+
+uint32 SkyLogic::fnArrived(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnArrived");
+}
+
+uint32 SkyLogic::fnLeaving(uint32 a, uint32 b, uint32 c) {
+ _compact->extCompact->atWatch = 0;
+
+ if (_compact->extCompact->leaving) {
+ _scriptVariables[_compact->extCompact->leaving/4] -= 1; // decrement the script variable
+ _compact->extCompact->leaving = 0; // I shall do this only once
+ }
+
+ return 1; // keep going
+}
+
+uint32 SkyLogic::fnSetAlternate(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSetAlternate");
+}
+
+uint32 SkyLogic::fnAltSetAlternate(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnAltSetAlternate");
+}
+
+uint32 SkyLogic::fnKillId(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnKillId");
+}
+
+uint32 SkyLogic::fnNoHuman(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnNoHuman");
+}
+
+uint32 SkyLogic::fnAddHuman(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnAddHuman");
+}
+
+uint32 SkyLogic::fnAddButtons(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnAddButtons");
+}
+
+uint32 SkyLogic::fnNoButtons(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnNoButtons");
+}
+
+uint32 SkyLogic::fnSetStop(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSetStop");
+}
+
+uint32 SkyLogic::fnClearStop(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnClearStop");
+}
+
+uint32 SkyLogic::fnPointerText(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnPointerText");
+}
+
+uint32 SkyLogic::fnQuit(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnQuit");
+}
+
+uint32 SkyLogic::fnSpeakMe(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSpeakMe");
+}
+
+uint32 SkyLogic::fnSpeakMeDir(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSpeakMeDir");
+}
+
+uint32 SkyLogic::fnSpeakWait(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSpeakWait");
+}
+
+uint32 SkyLogic::fnSpeakWaitDir(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSpeakWaitDir");
+}
+
+uint32 SkyLogic::fnChooser(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnChooser");
+}
+
+uint32 SkyLogic::fnHighlight(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnHighlight");
+}
+
+uint32 SkyLogic::fnTextKill(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnTextKill");
+}
+
+uint32 SkyLogic::fnStopMode(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnStopMode");
+}
+
+uint32 SkyLogic::fnWeWait(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnWeWait");
+}
+
+uint32 SkyLogic::fnSendSync(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSendSync");
+}
+
+uint32 SkyLogic::fnSendFastSync(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSendFastSync");
+}
+
+uint32 SkyLogic::fnSendRequest(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSendRequest");
+}
+
+uint32 SkyLogic::fnClearRequest(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnClearRequest");
+}
+
+uint32 SkyLogic::fnCheckRequest(uint32 a, uint32 b, uint32 c) {
+ // check for interaction request
+
+ a = (a & 0xffffff00) | 1; // assume script continue
+
+ ExtCompact *ecpt = _compact->extCompact;
+
+ if (!ecpt->request)
+ return a;
+
+ _compact->mode = C_ACTION_MODE; // into action mode
+
+ ecpt->actionSub = ecpt->request;
+
+ ecpt->request = 0; // trash request
+ return 0; // drop from script
+}
+
+uint32 SkyLogic::fnStartMenu(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnStartMenu");
+}
+
+uint32 SkyLogic::fnUnhighlight(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnUnhighlight");
+}
+
+uint32 SkyLogic::fnFaceId(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnFaceId");
+}
+
+uint32 SkyLogic::fnForeground(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnForeground");
+}
+
+uint32 SkyLogic::fnBackground(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnBackground");
+}
+
+uint32 SkyLogic::fnNewBackground(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnNewBackground");
+}
+
+uint32 SkyLogic::fnSort(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSort");
+}
+
+uint32 SkyLogic::fnNoSpriteEngine(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnNoSpriteEngine");
+}
+
+uint32 SkyLogic::fnNoSpritesA6(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnNoSpritesA6");
+}
+
+uint32 SkyLogic::fnResetId(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnResetId");
+}
+
+uint32 SkyLogic::fnToggleGrid(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnToggleGrid");
+}
+
+uint32 SkyLogic::fnPause(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnPause");
+}
+
+uint32 SkyLogic::fnRunAnimMod(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnRunAnimMod");
+}
+
+uint32 SkyLogic::fnSimpleMod(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSimpleMod");
+}
+
+uint32 SkyLogic::fnRunFrames(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnRunFrames");
+}
+
+uint32 SkyLogic::fnAwaitSync(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnAwaitSync");
+}
+
+uint32 SkyLogic::fnIncMegaSet(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnIncMegaSet");
+}
+
+uint32 SkyLogic::fnDecMegaSet(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnDecMegaSet");
+}
+
+uint32 SkyLogic::fnSetMegaSet(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSetMegaSet");
+}
+
+uint32 SkyLogic::fnMoveItems(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnMoveItems");
+}
+
+uint32 SkyLogic::fnNewList(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnNewList");
+}
+
+uint32 SkyLogic::fnAskThis(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnAskThis");
+}
+
+uint32 SkyLogic::fnRandom(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnRandom");
+}
+
+uint32 SkyLogic::fnPersonHere(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnPersonHere");
+}
+
+uint32 SkyLogic::fnToggleMouse(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnToggleMouse");
+}
+
+uint32 SkyLogic::fnMouseOn(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnMouseOn");
+}
+
+uint32 SkyLogic::fnMouseOff(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnMouseOff");
+}
+
+uint32 SkyLogic::fnFetchX(uint32 a, uint32 b, uint32 c) {
+ Compact *cpt = SkyState::fetchCompact(a);
+ _scriptVariables[RESULT] = cpt->xcood;
+ return 1;
+}
+
+uint32 SkyLogic::fnFetchY(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnFetchY");
+}
+
+uint32 SkyLogic::fnTestList(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnTestList");
+}
+
+uint32 SkyLogic::fnFetchPlace(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnFetchPlace");
+}
+
+uint32 SkyLogic::fnCustomJoey(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnCustomJoey");
+}
+
+uint32 SkyLogic::fnSetPalette(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSetPalette");
+}
+
+uint32 SkyLogic::fnTextModule(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnTextModule");
+}
+
+uint32 SkyLogic::fnChangeName(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnChangeName");
+}
+
+uint32 SkyLogic::fnMiniLoad(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnMiniLoad");
+}
+
+uint32 SkyLogic::fnFlushBuffers(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnFlushBuffers");
+}
+
+uint32 SkyLogic::fnFlushChip(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnFlushChip");
+}
+
+uint32 SkyLogic::fnSaveCoods(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSaveCoods");
+}
+
+uint32 SkyLogic::fnPlotGrid(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnPlotGrid");
+}
+
+uint32 SkyLogic::fnRemoveGrid(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnRemoveGrid");
+}
+
+uint32 SkyLogic::fnEyeball(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnEyeball");
+}
+
+uint32 SkyLogic::fnCursorUp(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnCursorUp");
+}
+
+uint32 SkyLogic::fnLeaveSection(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnLeaveSection");
+}
+
+uint32 SkyLogic::fnEnterSection(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnEnterSection");
+}
+
+uint32 SkyLogic::fnRestoreGame(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnRestoreGame");
+}
+
+uint32 SkyLogic::fnRestartGame(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnRestartGame");
+}
+
+uint32 SkyLogic::fnNewSwingSeq(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnNewSwingSeq");
+}
+
+uint32 SkyLogic::fnWaitSwingEnd(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnWaitSwingEnd");
+}
+
+uint32 SkyLogic::fnSkipIntroCode(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSkipIntroCode");
+}
+
+uint32 SkyLogic::fnBlankScreen(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnBlankScreen");
+}
+
+uint32 SkyLogic::fnPrintCredit(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnPrintCredit");
+}
+
+uint32 SkyLogic::fnLookAt(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnLookAt");
+}
+
+uint32 SkyLogic::fnLincTextModule(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnLincTextModule");
+}
+
+uint32 SkyLogic::fnTextKill2(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnTextKill2");
+}
+
+uint32 SkyLogic::fnSetFont(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnSetFont");
+}
+
+uint32 SkyLogic::fnStartFx(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnStartFx");
+}
+
+uint32 SkyLogic::fnStopFx(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnStopFx");
+}
+
+uint32 SkyLogic::fnStartMusic(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnStartMusic");
+}
+
+uint32 SkyLogic::fnStopMusic(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnStopMusic");
+}
+
+uint32 SkyLogic::fnFadeDown(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnFadeDown");
+}
+
+uint32 SkyLogic::fnFadeUp(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnFadeUp");
+}
+
+uint32 SkyLogic::fnQuitToDos(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnQuitToDos");
+}
+
+uint32 SkyLogic::fnPauseFx(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnPauseFx");
+}
+
+uint32 SkyLogic::fnUnPauseFx(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnUnPauseFx");
+}
+
+uint32 SkyLogic::fnPrintf(uint32 a, uint32 b, uint32 c) {
+ error("Stub: fnPrintf");
+}
+
diff --git a/sky/logic.h b/sky/logic.h
new file mode 100644
index 0000000000..7cdd96754a
--- /dev/null
+++ b/sky/logic.h
@@ -0,0 +1,181 @@
+/* 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 SKYLOGIC_H
+#define SKYLOGIC_H
+
+#include "sky/sky.h"
+#include "sky/disk.h"
+
+class SkyLogic {
+public:
+ SkyLogic(SkyDisk *skyDisk) : _skyDisk(skyDisk) { initScriptVariables(); };
+ void engine();
+
+ void lreturn();
+ void logicScript();
+ void autoRoute();
+ void arAnim();
+ void arTurn();
+ void alt();
+ void anim();
+ void turn();
+ void cursor();
+ void talk();
+ void listen();
+ void stopped();
+ void choose();
+ void frames();
+ void pause();
+ void waitSync();
+ void simpleAnim();
+
+
+ uint32 fnCacheChip(uint32 a, uint32 b, uint32 c);
+ uint32 fnCacheFast(uint32 a, uint32 b, uint32 c);
+ uint32 fnDrawScreen(uint32 a, uint32 b, uint32 c);
+ uint32 fnAr(uint32 a, uint32 b, uint32 c);
+ uint32 fnArAnimate(uint32 a, uint32 b, uint32 c);
+ uint32 fnIdle(uint32 a, uint32 b, uint32 c);
+ uint32 fnInteract(uint32 a, uint32 b, uint32 c);
+ uint32 fnStartSub(uint32 a, uint32 b, uint32 c);
+ uint32 fnTheyStartSub(uint32 a, uint32 b, uint32 c);
+ uint32 fnAssignBase(uint32 a, uint32 b, uint32 c);
+ uint32 fnDiskMouse(uint32 a, uint32 b, uint32 c);
+ uint32 fnNormalMouse(uint32 a, uint32 b, uint32 c);
+ uint32 fnBlankMouse(uint32 a, uint32 b, uint32 c);
+ uint32 fnCrossMouse(uint32 a, uint32 b, uint32 c);
+ uint32 fnCursorRight(uint32 a, uint32 b, uint32 c);
+ uint32 fnCursorLeft(uint32 a, uint32 b, uint32 c);
+ uint32 fnCursorDown(uint32 a, uint32 b, uint32 c);
+ uint32 fnOpenHand(uint32 a, uint32 b, uint32 c);
+ uint32 fnCloseHand(uint32 a, uint32 b, uint32 c);
+ uint32 fnGetTo(uint32 a, uint32 b, uint32 c);
+ uint32 fnSetToStand(uint32 a, uint32 b, uint32 c);
+ uint32 fnTurnTo(uint32 a, uint32 b, uint32 c);
+ uint32 fnArrived(uint32 a, uint32 b, uint32 c);
+ uint32 fnLeaving(uint32 a, uint32 b, uint32 c);
+ uint32 fnSetAlternate(uint32 a, uint32 b, uint32 c);
+ uint32 fnAltSetAlternate(uint32 a, uint32 b, uint32 c);
+ uint32 fnKillId(uint32 a, uint32 b, uint32 c);
+ uint32 fnNoHuman(uint32 a, uint32 b, uint32 c);
+ uint32 fnAddHuman(uint32 a, uint32 b, uint32 c);
+ uint32 fnAddButtons(uint32 a, uint32 b, uint32 c);
+ uint32 fnNoButtons(uint32 a, uint32 b, uint32 c);
+ uint32 fnSetStop(uint32 a, uint32 b, uint32 c);
+ uint32 fnClearStop(uint32 a, uint32 b, uint32 c);
+ uint32 fnPointerText(uint32 a, uint32 b, uint32 c);
+ uint32 fnQuit(uint32 a, uint32 b, uint32 c);
+ uint32 fnSpeakMe(uint32 a, uint32 b, uint32 c);
+ uint32 fnSpeakMeDir(uint32 a, uint32 b, uint32 c);
+ uint32 fnSpeakWait(uint32 a, uint32 b, uint32 c);
+ uint32 fnSpeakWaitDir(uint32 a, uint32 b, uint32 c);
+ uint32 fnChooser(uint32 a, uint32 b, uint32 c);
+ uint32 fnHighlight(uint32 a, uint32 b, uint32 c);
+ uint32 fnTextKill(uint32 a, uint32 b, uint32 c);
+ uint32 fnStopMode(uint32 a, uint32 b, uint32 c);
+ uint32 fnWeWait(uint32 a, uint32 b, uint32 c);
+ uint32 fnSendSync(uint32 a, uint32 b, uint32 c);
+ uint32 fnSendFastSync(uint32 a, uint32 b, uint32 c);
+ uint32 fnSendRequest(uint32 a, uint32 b, uint32 c);
+ uint32 fnClearRequest(uint32 a, uint32 b, uint32 c);
+ uint32 fnCheckRequest(uint32 a, uint32 b, uint32 c);
+ uint32 fnStartMenu(uint32 a, uint32 b, uint32 c);
+ uint32 fnUnhighlight(uint32 a, uint32 b, uint32 c);
+ uint32 fnFaceId(uint32 a, uint32 b, uint32 c);
+ uint32 fnForeground(uint32 a, uint32 b, uint32 c);
+ uint32 fnBackground(uint32 a, uint32 b, uint32 c);
+ uint32 fnNewBackground(uint32 a, uint32 b, uint32 c);
+ uint32 fnSort(uint32 a, uint32 b, uint32 c);
+ uint32 fnNoSpriteEngine(uint32 a, uint32 b, uint32 c);
+ uint32 fnNoSpritesA6(uint32 a, uint32 b, uint32 c);
+ uint32 fnResetId(uint32 a, uint32 b, uint32 c);
+ uint32 fnToggleGrid(uint32 a, uint32 b, uint32 c);
+ uint32 fnPause(uint32 a, uint32 b, uint32 c);
+ uint32 fnRunAnimMod(uint32 a, uint32 b, uint32 c);
+ uint32 fnSimpleMod(uint32 a, uint32 b, uint32 c);
+ uint32 fnRunFrames(uint32 a, uint32 b, uint32 c);
+ uint32 fnAwaitSync(uint32 a, uint32 b, uint32 c);
+ uint32 fnIncMegaSet(uint32 a, uint32 b, uint32 c);
+ uint32 fnDecMegaSet(uint32 a, uint32 b, uint32 c);
+ uint32 fnSetMegaSet(uint32 a, uint32 b, uint32 c);
+ uint32 fnMoveItems(uint32 a, uint32 b, uint32 c);
+ uint32 fnNewList(uint32 a, uint32 b, uint32 c);
+ uint32 fnAskThis(uint32 a, uint32 b, uint32 c);
+ uint32 fnRandom(uint32 a, uint32 b, uint32 c);
+ uint32 fnPersonHere(uint32 a, uint32 b, uint32 c);
+ uint32 fnToggleMouse(uint32 a, uint32 b, uint32 c);
+ uint32 fnMouseOn(uint32 a, uint32 b, uint32 c);
+ uint32 fnMouseOff(uint32 a, uint32 b, uint32 c);
+ uint32 fnFetchX(uint32 a, uint32 b, uint32 c);
+ uint32 fnFetchY(uint32 a, uint32 b, uint32 c);
+ uint32 fnTestList(uint32 a, uint32 b, uint32 c);
+ uint32 fnFetchPlace(uint32 a, uint32 b, uint32 c);
+ uint32 fnCustomJoey(uint32 a, uint32 b, uint32 c);
+ uint32 fnSetPalette(uint32 a, uint32 b, uint32 c);
+ uint32 fnTextModule(uint32 a, uint32 b, uint32 c);
+ uint32 fnChangeName(uint32 a, uint32 b, uint32 c);
+ uint32 fnMiniLoad(uint32 a, uint32 b, uint32 c);
+ uint32 fnFlushBuffers(uint32 a, uint32 b, uint32 c);
+ uint32 fnFlushChip(uint32 a, uint32 b, uint32 c);
+ uint32 fnSaveCoods(uint32 a, uint32 b, uint32 c);
+ uint32 fnPlotGrid(uint32 a, uint32 b, uint32 c);
+ uint32 fnRemoveGrid(uint32 a, uint32 b, uint32 c);
+ uint32 fnEyeball(uint32 a, uint32 b, uint32 c);
+ uint32 fnCursorUp(uint32 a, uint32 b, uint32 c);
+ uint32 fnLeaveSection(uint32 a, uint32 b, uint32 c);
+ uint32 fnEnterSection(uint32 a, uint32 b, uint32 c);
+ uint32 fnRestoreGame(uint32 a, uint32 b, uint32 c);
+ uint32 fnRestartGame(uint32 a, uint32 b, uint32 c);
+ uint32 fnNewSwingSeq(uint32 a, uint32 b, uint32 c);
+ uint32 fnWaitSwingEnd(uint32 a, uint32 b, uint32 c);
+ uint32 fnSkipIntroCode(uint32 a, uint32 b, uint32 c);
+ uint32 fnBlankScreen(uint32 a, uint32 b, uint32 c);
+ uint32 fnPrintCredit(uint32 a, uint32 b, uint32 c);
+ uint32 fnLookAt(uint32 a, uint32 b, uint32 c);
+ uint32 fnLincTextModule(uint32 a, uint32 b, uint32 c);
+ uint32 fnTextKill2(uint32 a, uint32 b, uint32 c);
+ uint32 fnSetFont(uint32 a, uint32 b, uint32 c);
+ uint32 fnStartFx(uint32 a, uint32 b, uint32 c);
+ uint32 fnStopFx(uint32 a, uint32 b, uint32 c);
+ uint32 fnStartMusic(uint32 a, uint32 b, uint32 c);
+ uint32 fnStopMusic(uint32 a, uint32 b, uint32 c);
+ uint32 fnFadeDown(uint32 a, uint32 b, uint32 c);
+ uint32 fnFadeUp(uint32 a, uint32 b, uint32 c);
+ uint32 fnQuitToDos(uint32 a, uint32 b, uint32 c);
+ uint32 fnPauseFx(uint32 a, uint32 b, uint32 c);
+ uint32 fnUnPauseFx(uint32 a, uint32 b, uint32 c);
+ uint32 fnPrintf(uint32 a, uint32 b, uint32 c);
+
+protected:
+ void push(unsigned int);
+ uint32 pop();
+ void checkModuleLoaded(uint32 moduleNo);
+ uint32 script(Compact *compact, uint32 script);
+ void initScriptVariables();
+
+ Compact *_compact;
+ uint32 _scriptVariables[838];
+
+ SkyDisk *_skyDisk;
+};
+
+#endif
diff --git a/sky/module.mk b/sky/module.mk
index 99c9f06d99..8b1f717979 100644
--- a/sky/module.mk
+++ b/sky/module.mk
@@ -2,6 +2,9 @@ MODULE := sky
MODULE_OBJS = \
sky/sky.o \
+ sky/compact.o \
+ sky/logic.o \
+ sky/debug.o \
sky/disk.o \
sky/screen.o \
sky/timer.o \
diff --git a/sky/sky.cpp b/sky/sky.cpp
index 0e9dc2239f..4c44fc6f8a 100644
--- a/sky/sky.cpp
+++ b/sky/sky.cpp
@@ -22,6 +22,9 @@
#include "stdafx.h"
#include "sky/sky.h"
#include "sky/skydefs.h" //game specific defines
+#include "sky/compact.h"
+#include "sky/logic.h"
+#include "sky/debug.h"
#include "common/file.h"
#include "common/gameDetector.h"
#include <errno.h>
@@ -48,6 +51,8 @@ Engine *Engine_SKY_create(GameDetector *detector, OSystem *syst) {
return new SkyState(detector, syst);
}
+void **SkyState::_itemList[300];
+
SkyState::SkyState(GameDetector *detector, OSystem *syst)
: Engine(detector, syst) {
@@ -83,12 +88,13 @@ void SkyState::go() {
_dump_file = stdout;
initialise();
-
- if (!isDemo(_gameVersion) || isCDVersion(_gameVersion))
- intro();
-
+
+ //if (!isDemo(_gameVersion) || isCDVersion(_gameVersion))
+ // intro();
+
while (1) {
delay(100);
+ _skyLogic->engine();
}
}
@@ -110,6 +116,8 @@ void SkyState::initialise(void) {
//initScript();
initialiseGrids();
//initialiseRouter();
+ _skyText = getSkyText();
+ _skyLogic = new SkyLogic(_skyDisk);
}
void SkyState::initItemList() {
@@ -117,23 +125,29 @@ void SkyState::initItemList() {
//See List.asm for (cryptic) item # descriptions
for (int i = 0; i < 300; i++)
- _itemList[i] = (void*)NULL;
+ _itemList[i] = (void **)NULL;
//init the non-null items
- /*
- _itemList[119] = (void*)data_0; // Compacts - Section 0
- _itemList[120] = (void*)data_1; // Compacts - Section 1
+ _itemList[119] = (void **)SkyCompact::data_0; // Compacts - Section 0
+ _itemList[120] = (void **)SkyCompact::data_1; // Compacts - Section 1
if (isDemo(_gameVersion)) {
- _itemList[121] = _itemList[122] = _itemList[123] = _itemList[124] = _itemList[125] = (void*)data_0;
+ _itemList[121] = _itemList[122] = _itemList[123] = _itemList[124] = _itemList[125] = (void **)SkyCompact::data_0;
} else {
- _itemList[121] = (void*)data_2; // Compacts - Section 2
- _itemList[122] = (void*)data_3; // Compacts - Section 3
- _itemList[123] = (void*)data_4; // Compacts - Section 4
- _itemList[124] = (void*)data_5; // Compacts - Section 5
- _itemList[125] = (void*)data_6; // Compacts - Section 6
+ _itemList[121] = (void **)SkyCompact::data_2; // Compacts - Section 2
+ _itemList[122] = (void **)SkyCompact::data_3; // Compacts - Section 3
+ _itemList[123] = (void **)SkyCompact::data_4; // Compacts - Section 4
+ _itemList[124] = (void **)SkyCompact::data_5; // Compacts - Section 5
+ _itemList[125] = (void **)SkyCompact::data_6; // Compacts - Section 6
}
- */
+}
+
+Compact *SkyState::fetchCompact(uint32 a) {
+ SkyDebug::fetchCompact(a);
+ uint32 sectionNum = (a & 0xf000) >> 12;
+ uint32 compactNum = (a & 0x0fff);
+
+ return (Compact *)(_itemList[119 + sectionNum][compactNum]);
}
void SkyState::delay(uint amount) { //copied and mutilated from Simon.cpp
diff --git a/sky/sky.h b/sky/sky.h
index 24d9ec5e7d..4bc3540287 100644
--- a/sky/sky.h
+++ b/sky/sky.h
@@ -30,8 +30,11 @@
#include "sky/sound.h"
#include "sky/text.h"
#include "sky/disk.h"
+#include "sky/struc.h"
#include "sky/skymusic.h"
+class SkyLogic;
+
class SkyState : public Engine {
void errorString(const char *buf_input, char *buf_output);
protected:
@@ -43,8 +46,6 @@ protected:
byte *_tseqData;
uint32 _tseqCounter;
- void *_itemList[300];
-
uint16 _debugMode;
uint16 _debugLevel;
uint16 _language;
@@ -68,6 +69,8 @@ protected:
SkySound *_sound;
SkyDisk *_skyDisk;
+ SkyText *_skyText;
+ SkyLogic *_skyLogic;
SkyMusic *_music;
byte *_workScreen;
@@ -86,8 +89,13 @@ public:
static bool isDemo(uint32 version);
static bool isCDVersion(uint32 version);
+
+ static Compact *fetchCompact(uint32 a);
+ static void **_itemList[300];
+
protected:
+ void logic_engine();
void delay(uint amount);
void pollMouseXY();
void go();
@@ -117,7 +125,6 @@ protected:
void shutdown();
RandomSource _rnd;
- SkyText *_skyText;
};
#endif
diff --git a/sky/skydefs.h b/sky/skydefs.h
index df7ffcd5db..394256d9ed 100644
--- a/sky/skydefs.h
+++ b/sky/skydefs.h
@@ -51,40 +51,4174 @@
#define MAIN_CHAR_HEIGHT 12
-#define c_base_mode 0
-#define c_base_mode56 56
-#define c_action_mode 4
-#define c_sp_colour 90
-#define c_mega_set 112
-#define c_grid_width 114
+#define C_BASE_MODE 0
+#define C_BASE_MODE56 56
+#define C_ACTION_MODE 4
+#define C_SP_COLOUR 90
+#define C_MEGA_SET 112
+#define C_GRID_WIDTH 114
-//#define next_mega_set
+#define SECTION_0_ITEM 119 //item number of first item section
+#define NEXT_MEGA_SET (sizeof(Compact) + sizeof(ExtCompact) - C_GRID_WIDTH)
-#define send_sync -1
-#define lf_start_fx -2
-#define safe_start_screen 0
+#define SEND_SYNC 0xFFFF
+#define LF_START_FX 0xFFFE
+#define SAFE_START_SCREEN 0
//autoroute defines
-#define upy 0
-#define downy 1
-#define lefty 2
-#define righty 3
-
-#define route_space 64
-
-#define l_script 1
-#define l_ar 2
-#define l_ar_anim 3
-#define l_ar_turning 4
-#define l_alt 5
-#define l_mod_animate 6
-#define l_turning 7
-#define l_cursor 8
-#define l_talk 9
-#define l_listen 10
-#define l_stopped 11
-#define l_choose 12
-#define l_frames 13
-#define l_pause 14
-#define l_wait_synch 15
-#define l_simple_mod 16
+#define UPY 0
+#define DOWNY 1
+#define LEFTY 2
+#define RIGHTY 3
+
+#define ROUTE_SPACE 64
+
+#define PCONLY_F_R3_1 0
+#define PCONLY_F_R3_2 0
+
+#define RESTART_BUTT_X 147
+#define RESTART_BUTT_Y 309
+#define RESTORE_BUTT_X 246
+#define RESTORE_BUTT_Y 309
+#define EXIT_BUTT_X 345
+#define EXIT_BUTT_Y 309
+
+#define L_SCRIPT 1
+#define L_AR 2
+#define L_AR_ANIM 3
+#define L_AR_TURNING 4
+#define L_ALT 5
+#define L_MOD_ANIMATE 6
+#define L_TURNING 7
+#define L_CURSOR 8
+#define L_TALK 9
+#define L_LISTEN 10
+#define L_STOPPED 11
+#define L_CHOOSE 12
+#define L_FRAMES 13
+#define L_PAUSE 14
+#define L_WAIT_SYNC 15
+#define L_SIMPLE_MOD 16
+
+// characters with own colour set
+#define SP_COL_FOSTER 194
+#define SP_COL_JOEY 216
+#define SP_COL_JOBS 209
+#define SP_COL_SO 218
+#define SP_COL_HOLO 234
+#define SP_COL_LAMB 203
+#define SP_COL_FOREMAN 205
+#define SP_COL_SHADES 217
+#define SP_COL_MONITOR 224
+#define SP_COL_WRECK 219 //wreck guard
+#define SP_COL_ANITA 73
+#define SP_COL_DAD 224
+#define SP_COL_SON 223
+#define SP_COL_GALAG 194
+#define SP_COL_ANCHOR 85 //194
+#define SP_COL_BURKE 192
+#define SP_COL_BODY 234
+#define SP_COL_MEDI 235
+#define SP_COL_SKORL 241 //skorl guard will probably go
+#define SP_COL_ANDROID2 222
+#define SP_COL_ANDROID3 222
+#define SP_COL_KEN 222
+#define SP_COL_HENRI30 128 //207
+#define SP_COL_GUARD31 216
+#define SP_DAN_COL 228
+#define SP_COL_BUZZER32 228 //124
+#define SP_COL_VINCENT32 193
+#define SP_COL_GARDENER32 145
+#define SP_COL_WITNESS 195
+#define SP_COL_JOBS82 209
+#define SP_COL_KEN81 224
+#define SP_COL_FATHER81 177
+#define SP_COL_TREVOR 216
+#define SP_COL_RADMAN 193
+#define SP_COL_BARMAN36 144
+#define SP_COL_BABS36 202
+#define SP_COL_GALLAGHER36 145
+#define SP_COL_COLSTON36 146
+#define SP_COL_JUKEBOX36 176
+#define SP_COL_JUDGE42 193
+#define SP_COL_CLERK42 195
+#define SP_COL_PROS42 217
+#define SP_COL_JOBS42 209
+
+#define SP_COL_HOLOGRAM_B 255
+#define SP_COL_BLUE 255
+#define SP_COL_LOADER 255
+
+#define SP_COL_UCHAR 255
+
+#define ST_NO_VMASK 0x200
+
+// Files.asm
+#define DISK_1 (2048)
+#define DISK_2 (2048*2)
+#define DISK_3 (2048*3)
+#define DISK_4 (2048*4)
+#define DISK_5 (2048*5)
+#define DISK_6 (2048*6)
+#define DISK_7 (2048*7)
+#define DISK_8 (2048*8)
+#define DISK_9 (2048*9)
+#define DISK_10 (2048*10)
+#define DISK_12 (2048*12)
+#define DISK_13 (2048*13)
+#define DISK_14 (2048*14)
+#define DISK_15 (2048*15)
+#define F_MODULE_0 60400
+#define F_MODULE_1 60401
+#define CHAR_SET_FILE 60150
+
+// Script.equ
+#define STD_BASE (0x0000+0x1)
+#define ADVISOR_188 (0x0000+0x2)
+#define JUST_INTERACT (0x0000+0x3)
+#define MEGA_CLICK (0x0000+0x4)
+#define STD_EXIT_RIGHT_ON (0x0000+0x5)
+#define STD_EXIT_LEFT_ON (0x0000+0x6)
+#define STD_EXIT_DOWN_ON (0x0000+0x7)
+#define STD_EXIT_UP_ON (0x0000+0x8)
+#define STD_ON (0x0000+0x9)
+#define STD_OFF (0x0000+0xa)
+#define TEXT_ON (0x0000+0xb)
+#define TEXT_OFF (0x0000+0xc)
+#define START_MENU (0x0000+0xd)
+#define MENU_SELECT (0x0000+0xe)
+#define CLICK_LEFT_ARROW (0x0000+0xf)
+#define CLICK_RIGHT_ARROW (0x0000+0x10)
+#define TOUCH_MENU (0x0000+0x11)
+#define UNTOUCH_MENU (0x0000+0x12)
+#define TOUCH_ARROW (0x0000+0x13)
+#define UNTOUCH_ARROW (0x0000+0x14)
+#define MENU_SCRIPT (0x0000+0x15)
+#define TEXT_CLICK (0x0000+0x16)
+#define RESET_MOUSE (0x0000+0x17)
+#define CLICK_DEBUG (0x0000+0x18)
+#define STD_MEGA_STOP (0x0000+0x19)
+#define STD_PLAYER_STOP (0x0000+0x1a)
+#define STD_MINI_BUMP (0x0000+0x1b)
+#define RETURN_OK (0x0000+0x1c)
+#define RETURN_FAIL (0x0000+0x1d)
+#define STD_ADJOIN_FLOOR (0x0000+0x1e)
+#define FLOOR_ACTION (0x0000+0x1f)
+#define ANIMATE_LOGIC (0x0000+0x20)
+#define STORE_188 (0x0000+0x21)
+#define TEXT_EDIT (0x0000+0x22)
+#define SHOUT_SSS (0x0000+0x23)
+#define SHOUT_ACTION (0x0000+0x24)
+#define MEGA_SSS (0x0000+0x25)
+#define MEGA_ACTION (0x0000+0x26)
+#define BASE_INTRO (0x0000+0x27)
+#define FURNACE_D_ACTION (0x0000+0x28)
+#define STAIR6_ACTION (0x0000+0x29)
+#define GET_TO_JP2 (0x0000+0x2a)
+#define JOEY_EXTRA (0x0000+0x2b)
+#define JOEY_LOGIC (0x0000+0x2c)
+#define SECURITY_EXIT_ACTION (0x0000+0x2d)
+#define SMALL_DOOR_ACTION (0x0000+0x2e)
+#define LINK_7_29 (0x0000+0x2f)
+#define LINK_29_7 (0x0000+0x30)
+#define LAMB_TO_3 (0x0000+0x31)
+#define LAMB_TO_2 (0x0000+0x32)
+#define SS_SIGN_ACTION (0x0000+0x33)
+#define SCANNER_10_LOGIC (0x0000+0x34)
+#define SLOT_10_ACTION (0x0000+0x35)
+#define DAD_SCAN_SSS (0x0000+0x36)
+#define LOBBY_SLOT_ACTION (0x0000+0x37)
+#define LINK_28_31 (0x0000+0x38)
+#define LINK_31_28 (0x0000+0x39)
+#define LINK_65_66 (0x0000+0x3a)
+#define DEATH_SCRIPT (0x0000+0x3b)
+#define RESTART_BUTTON_LOGIC (0x0000+0x3c)
+#define RESTORE_BUTTON_LOGIC (0x0000+0x3d)
+#define EXIT_BUTTON_LOGIC (0x0000+0x3e)
+#define DEATH_CLICK (0x0000+0x3f)
+#define STD_GIVE_UP (0x1000+0x1)
+#define GET_TO_TALK1 (0x1000+0x2)
+#define GET_TO_TALK2 (0x1000+0x3)
+#define STAIRS_FROM_LOW (0x1000+0x4)
+#define STAIRS_FROM_HIGH (0x1000+0x5)
+#define STAIR_ACTION (0x1000+0x6)
+#define CLIMB_STAIRS (0x1000+0x7)
+#define SS_SHOOTS (0x1000+0x8)
+#define UPSTAIR_ACTION (0x1000+0x9)
+#define DECEND (0x1000+0xa)
+#define START_MINI_SS (0x1000+0xb)
+#define ALERT_SS (0x1000+0xc)
+#define MORE_SS (0x1000+0xd)
+#define BAR_ACTION (0x1000+0xe)
+#define GET_TO_BAR (0x1000+0xf)
+#define FULL_SS_CUT (0x1000+0x10)
+#define CUT_SEQ (0x1000+0x11)
+#define FIRE_EXIT_ACTION (0x1000+0x12)
+#define GET_TO_FEXIT (0x1000+0x13)
+#define FEXIT_DOOR (0x1000+0x14)
+#define FEXIT_ON (0x1000+0x15)
+#define SMALL_DOOR_LOGIC (0x1000+0x16)
+#define GET_TO_SMALL_DOOR (0x1000+0x17)
+#define ER0_ACTION (0x1000+0x18)
+#define ER0_ALT (0x1000+0x19)
+#define GET_TO_ER0 (0x1000+0x1a)
+#define FAN1_LOGIC (0x1000+0x1b)
+#define FAN2_LOGIC (0x1000+0x1c)
+#define FAN3_LOGIC (0x1000+0x1d)
+#define FAN4_LOGIC (0x1000+0x1e)
+#define FAN5_LOGIC (0x1000+0x1f)
+#define FAN6_LOGIC (0x1000+0x20)
+#define FAN7_LOGIC (0x1000+0x21)
+#define UPLOAD_WAIT (0x1000+0x22)
+#define GET_TO_UPLOAD (0x1000+0x23)
+#define LAZER_GUN_LOGIC (0x1000+0x24)
+#define LOAD_POINT_LOGIC (0x1000+0x25)
+#define NOTICE_LOGIC (0x1000+0x26)
+#define NOTICE_ACTION (0x1000+0x27)
+#define GET_TO_NOTICE (0x1000+0x28)
+#define PRESS_LOGIC (0x1000+0x29)
+#define PRESS_ACTION (0x1000+0x2a)
+#define GET_TO_PRESS (0x1000+0x2b)
+#define LOAD_POINT_ACTION (0x1000+0x2c)
+#define SMALL_DOOR_ON (0x1000+0x2d)
+#define OUT_EXIT_ON (0x1000+0x2e)
+#define R1EXIT_DOOR (0x1000+0x2f)
+#define GET_TO_R1_DOOR (0x1000+0x30)
+#define S1_DOOR_ACTION (0x1000+0x31)
+#define GET_TO_NOTICE2 (0x1000+0x32)
+#define NOTICE2_ACTION (0x1000+0x33)
+#define GET_TO_SS_SIGN (0x1000+0x34)
+#define LFAN1_LOGIC (0x1000+0x35)
+#define LFAN2_LOGIC (0x1000+0x36)
+#define SMOKE1_LOGIC (0x1000+0x37)
+#define SMOKE2_LOGIC (0x1000+0x38)
+#define FIRE1_LOGIC (0x1000+0x39)
+#define FIRE2_LOGIC (0x1000+0x3a)
+#define CAR_LOGIC (0x1000+0x3b)
+#define ER0_WALK_ON (0x1000+0x3c)
+#define S2_WALK_ON (0x1000+0x3d)
+#define EL2_ACTION (0x1000+0x3e)
+#define GET_TO_EL2 (0x1000+0x3f)
+#define GET_TO_TALK21 (0x1000+0x40)
+#define MEGA_FAILED_S2 (0x1000+0x41)
+#define GET_TO_TALK22 (0x1000+0x42)
+#define GET_TO_ER2 (0x1000+0x43)
+#define FIRST_INTERACT (0x1000+0x44)
+#define ER2_ACTION (0x1000+0x45)
+#define TOP_LIFT_ACTION (0x1000+0x46)
+#define LIFT_WAIT (0x1000+0x47)
+#define GET_TO_LIFTER (0x1000+0x48)
+#define LIFT_TO_FLOOR (0x1000+0x49)
+#define TOP_BARREL_LOGIC (0x1000+0x4a)
+#define LIGHT_LOGIC (0x1000+0x4b)
+#define GET_TO_LIGHT1 (0x1000+0x4c)
+#define PANEL_LOGIC (0x1000+0x4d)
+#define ALARM_LOGIC (0x1000+0x4e)
+#define GET_TO_HOLE (0x1000+0x4f)
+#define HOLE_ACTION (0x1000+0x50)
+#define DEAD_LOSS (0x1000+0x51)
+#define GET_TO_TRANSPORTER (0x1000+0x52)
+#define TRANSPORTER_ACTION (0x1000+0x53)
+#define TRANS_ALIVE_ACTION (0x1000+0x54)
+#define JOEY_START (0x1000+0x55)
+#define JOEY_MISSION (0x1000+0x56)
+#define TRANS_MISSION (0x1000+0x57)
+#define SHELL_ACTION (0x1000+0x58)
+#define GET_TO_SHELL (0x1000+0x59)
+#define LIGHT1_ACTION (0x1000+0x5a)
+#define GET_TO_LEDS (0x1000+0x5b)
+#define GT_PANEL2 (0x1000+0x5c)
+#define PANEL2_ACTION (0x1000+0x5d)
+#define GT_JUNK1 (0x1000+0x5e)
+#define JUNK1_ACTION (0x1000+0x5f)
+#define GT_JUNK2 (0x1000+0x60)
+#define JUNK2_ACTION (0x1000+0x61)
+#define TOP_LIFT_LOGIC (0x1000+0x62)
+#define TOP_LIFT_2_LOGIC (0x1000+0x63)
+#define LOW_LIFT_LOGIC (0x1000+0x64)
+#define LOW_LIFT2_LOGIC (0x1000+0x65)
+#define LOW_LIFT3_LOGIC (0x1000+0x66)
+#define STEVE_SPY_LOGIC (0x1000+0x67)
+#define LOW_BARREL_LOGIC (0x1000+0x68)
+#define CONVEY_LOGIC (0x1000+0x69)
+#define FLY_LOGIC (0x1000+0x6a)
+#define FURNACE_LOGIC (0x1000+0x6b)
+#define LIGHTS1_LOGIC (0x1000+0x6c)
+#define EYE_BALL_LOGIC (0x1000+0x6d)
+#define NEW_EYE_BALL (0x1000+0x6e)
+#define FURNACE_DOOR_LOGIC (0x1000+0x6f)
+#define GET_TO_FURNACE_DOOR (0x1000+0x70)
+#define GET_TO_SLOT (0x1000+0x71)
+#define SLOT_ACTION (0x1000+0x72)
+#define SLOT_MISSION (0x1000+0x73)
+#define SHADES_LOGIC (0x1000+0x74)
+#define CORNER_MISSION (0x1000+0x75)
+#define EYE_BOLT_LOGIC (0x1000+0x76)
+#define SMOULDER_LOGIC (0x1000+0x77)
+#define GET_TO_BODY (0x1000+0x78)
+#define SMOULDER_ACTION (0x1000+0x79)
+#define GET_TO_EYE (0x1000+0x7a)
+#define EYE_ACTION (0x1000+0x7b)
+#define GET_TO_FURNACE (0x1000+0x7c)
+#define FURNACE_ACTION (0x1000+0x7d)
+#define FURNACE_EXIT_ON (0x1000+0x7e)
+#define GET_TO_EL4 (0x1000+0x7f)
+#define S4_WALK_ON (0x1000+0x80)
+#define EL4_ACTION (0x1000+0x81)
+#define PLAYER_FAIL_S4 (0x1000+0x82)
+#define GET_TO_TALK41 (0x1000+0x83)
+#define MEGA_FAILED_S4 (0x1000+0x84)
+#define GET_TO_TALK42 (0x1000+0x85)
+#define TV_LOGIC (0x1000+0x86)
+#define KNOB_ACTION (0x1000+0x87)
+#define KNOB_LOGIC (0x1000+0x88)
+#define CHUCK_LOGIC (0x1000+0x89)
+#define LAZER_LOGIC (0x1000+0x8a)
+#define GT_LAZER (0x1000+0x8b)
+#define LAZER_ACTION (0x1000+0x8c)
+#define CUPBOARD_LOGIC (0x1000+0x8d)
+#define CUPBOARD_ALERT (0x1000+0x8e)
+#define CUPBOARD_ACTION (0x1000+0x8f)
+#define GET_TO_CUPBOARD (0x1000+0x90)
+#define GET_TO_SHELVES (0x1000+0x91)
+#define GET_TO_KNOB (0x1000+0x92)
+#define GET_TO_CHUCK (0x1000+0x93)
+#define GET_TO_SCREENS (0x1000+0x94)
+#define SPANNER_ACTION (0x1000+0x95)
+#define SARNIE_ACTION (0x1000+0x96)
+#define GET_TO_BUTTONS (0x1000+0x97)
+#define MONITOR_LOGIC (0x1000+0x98)
+#define BUTTON_ACTION (0x1000+0x99)
+#define POSTCARD_ACTION (0x1000+0x9a)
+#define GET_TO_POSTCARD (0x1000+0x9b)
+#define NOTICE4_ACTION (0x1000+0x9c)
+#define CHUCK_ACTION (0x1000+0x9d)
+#define TV_1_ACTION (0x1000+0x9e)
+#define TV_2_ACTION (0x1000+0x9f)
+#define GET_TO_MONITOR (0x1000+0xa0)
+#define JOBS_ALARMED (0x1000+0xa1)
+#define JOBS_S4 (0x1000+0xa2)
+#define MORE_JOBS (0x1000+0xa3)
+#define BASIC_JOBS (0x1000+0xa4)
+#define START_JOBS (0x1000+0xa5)
+#define DEAD_LOGIC (0x1000+0xa6)
+#define LOADER_LOGIC (0x1000+0xa7)
+#define LOADER_START (0x1000+0xa8)
+#define JOBS_SPEECH (0x1000+0xa9)
+#define UNUSED (0x1000+0xaa)
+#define GET_TO_STAIRS6 (0x2000+0x1)
+#define GET_SECURITY_S6 (0x2000+0x2)
+#define JOEY_FLY_TO_6 (0x2000+0x3)
+#define GET_TO_L_EXIT_S6 (0x2000+0x4)
+#define EL6_ACTION (0x2000+0x5)
+#define S5_WALK_ON (0x2000+0x6)
+#define S5_STROLL_ON (0x2000+0x7)
+#define GET_TO_R_EXIT_S5 (0x2000+0x8)
+#define ER5_ACTION (0x2000+0x9)
+#define S6_WALK_ON (0x2000+0xa)
+#define GET_TO_R_EXIT_S6 (0x2000+0xb)
+#define S6_RWALK_ON (0x2000+0xc)
+#define INTO_18_FAIL (0x2000+0xd)
+#define GET_TO_L_EXIT_S5 (0x2000+0xe)
+#define LDOOR_5_ACTION (0x2000+0xf)
+#define S6_DOOR_ACTION (0x2000+0x10)
+#define S6_SEC_WALK_ON (0x2000+0x11)
+#define SKORL_LOGIC (0x2000+0x12)
+#define SKORL_SSS (0x2000+0x13)
+#define SKORL_ACTION (0x2000+0x14)
+#define GET_TO_SKORL (0x2000+0x15)
+#define GET_TO_SECURITY_EXIT (0x2000+0x16)
+#define ER6_ACTION (0x2000+0x17)
+#define EL7_ACTION (0x2000+0x18)
+#define GET_TO_L_EXIT_S7 (0x2000+0x19)
+#define S7_WALK_ON (0x2000+0x1a)
+#define GET_TO_R_EXIT_S7 (0x2000+0x1b)
+#define ER7_ACTION (0x2000+0x1c)
+#define S8_WALK_ON (0x2000+0x1d)
+#define ED8_ACTION (0x2000+0x1e)
+#define GET_TO_EXIT_S8 (0x2000+0x1f)
+#define S7_RIGHT_ON (0x2000+0x20)
+#define GET_TO_WRECK (0x2000+0x21)
+#define WRECK_ACTION (0x2000+0x22)
+#define WRECK_LOGIC (0x2000+0x23)
+#define FACT_FAIL (0x2000+0x24)
+#define GET_TO_FACTORY (0x2000+0x25)
+#define FACTORY_ENTRY_ACTION (0x2000+0x26)
+#define S12_WALK_ON (0x2000+0x27)
+#define GT_S7_LINC (0x2000+0x28)
+#define GT_S7_SLOT (0x2000+0x29)
+#define GT_LIFT_NOTICE (0x2000+0x2a)
+#define LIFT_NOTICE_ACTION (0x2000+0x2b)
+#define S7_SLOT_ACTION (0x2000+0x2c)
+#define LINC_S7_ACTION (0x2000+0x2d)
+#define LEFT_FAIL_7 (0x2000+0x2e)
+#define GT_L_TALK_7 (0x2000+0x2f)
+#define RIGHT_FAIL_7 (0x2000+0x30)
+#define GT_R_TALK_7 (0x2000+0x31)
+#define JOEY_OUT_OF_LIFT7 (0x2000+0x32)
+#define CABLE_7_LOGIC (0x2000+0x33)
+#define GT_CABLE_7 (0x2000+0x34)
+#define CABLE_7_ACTION (0x2000+0x35)
+#define CABLE_MISSION (0x2000+0x36)
+#define GT_S7_LIFT (0x2000+0x37)
+#define S7_LIFT_LOGIC (0x2000+0x38)
+#define JOEY_TO_LIFT (0x2000+0x39)
+#define LIFT_S7_ACTION (0x2000+0x3a)
+#define COPTER_ACTION (0x2000+0x3b)
+#define S9_WALK_ON (0x2000+0x3c)
+#define FANS_LOGIC (0x2000+0x3d)
+#define GET_TO_L_EXIT_S9 (0x2000+0x3e)
+#define EL9_ACTION (0x2000+0x3f)
+#define LOBBY_DOOR_LOGIC (0x2000+0x40)
+#define LOBBY_DOOR_ON (0x2000+0x41)
+#define GET_TO_LOBBY_DOOR (0x2000+0x42)
+#define LOBBY_DOOR_ACTION (0x2000+0x43)
+#define SCANNER_LOGIC (0x2000+0x44)
+#define GET_TO_SCANNER (0x2000+0x45)
+#define SCANNER_ACTION (0x2000+0x46)
+#define DAD_LOGIC (0x2000+0x47)
+#define DAD_SSS (0x2000+0x48)
+#define DAD_ACTION (0x2000+0x49)
+#define GET_TO_DAD (0x2000+0x4a)
+#define GET_TO_SON (0x2000+0x4b)
+#define SON_LOGIC (0x2000+0x4c)
+#define SON_ACTION (0x2000+0x4d)
+#define GT_LINC_S9 (0x2000+0x4e)
+#define LINC_S9_ACTION (0x2000+0x4f)
+#define GET_TO_R_EXIT_S18 (0x2000+0x50)
+#define S18_WALK_ON (0x2000+0x51)
+#define ER18_ACTION (0x2000+0x52)
+#define MONITOR_SLEEP (0x2000+0x53)
+#define SON_SSS (0x2000+0x54)
+#define STEAM_FRIGHT (0x2000+0x55)
+#define MONITOR_ALERT (0x2000+0x56)
+#define STEAM_LOGIC (0x2000+0x57)
+#define POWER_DOOR_LOGIC (0x2000+0x58)
+#define POWER_MOTOR_LOGIC (0x2000+0x59)
+#define POWER_PANEL_LOGIC (0x2000+0x5a)
+#define GET_TO_POWER_PANEL (0x2000+0x5b)
+#define SOCKET_ACTION (0x2000+0x5c)
+#define POWER_SWITCH_LOGIC (0x2000+0x5d)
+#define GET_TO_POWER_SWITCH (0x2000+0x5e)
+#define SWITCH_ACTION (0x2000+0x5f)
+#define CHAIR_FAIL (0x2000+0x60)
+#define GET_TO_POWER_CHAIR (0x2000+0x61)
+#define GET_TO_LEFT_SKULL (0x2000+0x62)
+#define GET_TO_RIGHT_SKULL (0x2000+0x63)
+#define LEFT_SKULL_ACTION (0x2000+0x64)
+#define POWER_BANG_LOGIC (0x2000+0x65)
+#define RIGHT_SKULL_ACTION (0x2000+0x66)
+#define GET_TO_TALK (0x2000+0x67)
+#define GORDON_SSS (0x2000+0x68)
+#define SAT_GORDON_ACTION (0x2000+0x69)
+#define GET_TO_POWER_DOOR (0x2000+0x6a)
+#define POWER_DOOR_ACTION (0x2000+0x6b)
+#define JOEY_BUTTON_MISSION (0x2000+0x6c)
+#define LEFT_LEVER_LOGIC (0x2000+0x6d)
+#define RIGHT_LEVER_LOGIC (0x2000+0x6e)
+#define LEFT_LEVER_ACTION (0x2000+0x6f)
+#define RIGHT_LEVER_ACTION (0x2000+0x70)
+#define GET_TO_RIGHT_LEVER (0x2000+0x71)
+#define GET_TO_LEFT_LEVER (0x2000+0x72)
+#define CHAIR_ACTION (0x2000+0x73)
+#define S12_LEFT_ON (0x2000+0x74)
+#define GET_TO_FACTORY_EXIT (0x2000+0x75)
+#define FACTORY_EXIT_ACTION (0x2000+0x76)
+#define LAMB_LEAVE_FACTORY (0x2000+0x77)
+#define LAMB_FACT_2 (0x2000+0x78)
+#define LAMB_FACT_RETURN (0x2000+0x79)
+#define LAMB_FACTORY_START (0x2000+0x7a)
+#define LAMB_FORCE_START (0x2000+0x7b)
+#define GT_FACT1_EXIT (0x2000+0x7c)
+#define FACT1_EXIT_ACTION (0x2000+0x7d)
+#define S12_RIGHT_ON (0x2000+0x7e)
+#define ANITA_WORK (0x2000+0x7f)
+#define ANITA_SSS (0x2000+0x80)
+#define ANITA_ACTION (0x2000+0x81)
+#define GT_ANITA (0x2000+0x82)
+#define BOTBELT_LOGIC (0x2000+0x83)
+#define STD_FACT_LOGIC (0x2000+0x84)
+#define ANITA_ALERT (0x2000+0x85)
+#define ANITA_SPY_ACTION (0x2000+0x86)
+#define ANITA_SPY_LOGIC (0x2000+0x87)
+#define TICK_OFF_II (0x2000+0x88)
+#define GT_TICK_OFF (0x2000+0x89)
+#define WELDER_LOGIC (0x2000+0x8a)
+#define GT_WELDER (0x2000+0x8b)
+#define WELDER_ACTION (0x2000+0x8c)
+#define LEFT_FAIL_12 (0x2000+0x8d)
+#define GT_L_TALK_12 (0x2000+0x8e)
+#define RIGHT_FAIL_12 (0x2000+0x8f)
+#define GT_R_TALK_12 (0x2000+0x90)
+#define WELDER_MISSION (0x2000+0x91)
+#define JOEY_WELD_MISSION (0x2000+0x92)
+#define GT_STUMP (0x2000+0x93)
+#define STUMP_ACTION (0x2000+0x94)
+#define GT_CONSOLE_12 (0x2000+0x95)
+#define CONSOLE_12_ACTION (0x2000+0x96)
+#define GT_TOUR_1 (0x2000+0x97)
+#define GT_TOUR_2 (0x2000+0x98)
+#define FOREMAN_LAMB (0x2000+0x99)
+#define FOSTER_TOUR (0x2000+0x9a)
+#define LAMB_TOUR (0x2000+0x9b)
+#define ON_FROM_S15 (0x2000+0x9c)
+#define S13_LEFT_ON (0x2000+0x9d)
+#define GT_FACT2_L_EXIT (0x2000+0x9e)
+#define FACT2_ACTION (0x2000+0x9f)
+#define FACT2_RIGHT_ACTION (0x2000+0xa0)
+#define GT_FACT2_R_EXIT (0x2000+0xa1)
+#define S13_RIGHT_ON (0x2000+0xa2)
+#define GT_FACT2_STORE_EXIT (0x2000+0xa3)
+#define FACT2_STORE_ACTION (0x2000+0xa4)
+#define GT_COGS (0x2000+0xa5)
+#define FOREMAN_LOGIC (0x2000+0xa6)
+#define FOREMAN_ALERT (0x2000+0xa7)
+#define COGS_ACTION (0x2000+0xa8)
+#define GT_LITE1 (0x2000+0xa9)
+#define STORE_ROOM_STOP (0x2000+0xaa)
+#define SENSOR_LOGIC (0x2000+0xab)
+#define RIGHT_FAIL_13 (0x2000+0xac)
+#define GT_R_TALK_13 (0x2000+0xad)
+#define LEFT_FAIL_13 (0x2000+0xae)
+#define GT_L_TALK_13 (0x2000+0xaf)
+#define GT_STORE_STOP (0x2000+0xb0)
+#define FACT2_FOREMAN_ALERT (0x2000+0xb1)
+#define FACT2_STOP (0x2000+0xb2)
+#define FACT2_SPY_LOGIC (0x2000+0xb3)
+#define GT_WINDOW (0x2000+0xb4)
+#define WINDOW_ACTION (0x2000+0xb5)
+#define FACT_CONSOLE_LOGIC (0x2000+0xb6)
+#define FOREMAN_STORE_CHECK (0x2000+0xb7)
+#define GT_SENSORS (0x2000+0xb8)
+#define SENSORS_ACTION (0x2000+0xb9)
+#define GT_FACT_CONSOLE (0x2000+0xba)
+#define CONSOLE_13_ACTION (0x2000+0xbb)
+#define RAD_BACK (0x2000+0xbc)
+#define FACT3_ACTION (0x2000+0xbd)
+#define S14_LEFT_ON (0x2000+0xbe)
+#define GT_FACT3_L_EXIT (0x2000+0xbf)
+#define ALT_NU_ANITA (0x2000+0xc0)
+#define GT_NU_ANITA (0x2000+0xc1)
+#define GT_FACT3_R_EXIT (0x2000+0xc2)
+#define LOCKER3_LOGIC (0x2000+0xc3)
+#define LOCKER2_LOGIC (0x2000+0xc4)
+#define LOCKER1_LOGIC (0x2000+0xc5)
+#define LOCKER3_ACTION (0x2000+0xc6)
+#define GT_LOCKER3 (0x2000+0xc7)
+#define LOCKER2_ACTION (0x2000+0xc8)
+#define GT_LOCKER2 (0x2000+0xc9)
+#define GT_LOCKER1 (0x2000+0xca)
+#define LOCKER1_ACTION (0x2000+0xcb)
+#define GT_MACHINE (0x2000+0xcc)
+#define MACHINE_ACTION (0x2000+0xcd)
+#define FACT3_R_ACTION (0x2000+0xce)
+#define S14_RIGHT_ON (0x2000+0xcf)
+#define NU_ANITA_SSS (0x2000+0xd0)
+#define RADMAN_LOGIC (0x2000+0xd1)
+#define LEFT_FAIL_14 (0x2000+0xd2)
+#define GT_L_TALK_14 (0x2000+0xd3)
+#define RIGHT_FAIL_14 (0x2000+0xd4)
+#define GT_R_TALK_14 (0x2000+0xd5)
+#define RAD_SCREEN_ACTION (0x2000+0xd6)
+#define GT_RAD_SCREEN (0x2000+0xd7)
+#define GT_14_CONSOLE (0x2000+0xd8)
+#define CONSOLE_14_ACTION (0x2000+0xd9)
+#define COAT_LOGIC (0x2000+0xda)
+#define GT_COAT (0x2000+0xdb)
+#define COAT_ACTION (0x2000+0xdc)
+#define S15_WALK_ON (0x2000+0xdd)
+#define GT_STORE_EXIT (0x2000+0xde)
+#define STORE_EXIT_ACTION (0x2000+0xdf)
+#define JOEY_42_MISS (0x2000+0xe0)
+#define JOEY_JUNCTION_MISS (0x2000+0xe1)
+#define GT_JUNCTION_BOX (0x2000+0xe2)
+#define JUNCTION_ACTION (0x2000+0xe3)
+#define FLAP_LOGIC (0x2000+0xe4)
+#define GT_FLAP (0x2000+0xe5)
+#define FLAP_ACTION (0x2000+0xe6)
+#define GT_SKEY (0x2000+0xe7)
+#define GT_WD40 (0x2000+0xe8)
+#define SKEY_ACTION (0x2000+0xe9)
+#define WD40_ACTION (0x2000+0xea)
+#define SHELF_OBJECT_LOGIC (0x2000+0xeb)
+#define FLOOR_PUTTY_ACTION (0x2000+0xec)
+#define GT_PUTTY (0x2000+0xed)
+#define FORKLIFT_LOGIC (0x2000+0xee)
+#define S16_LEFT_ON (0x2000+0xef)
+#define ENTRANCE_EXIT_ACTION (0x2000+0xf0)
+#define GT_ENTRANCE_EXIT (0x2000+0xf1)
+#define GT_ALT_CONSOLE (0x2000+0xf2)
+#define GT_REACTOR_CONSOLE (0x2000+0xf3)
+#define REACTOR_PC_ACTION (0x2000+0xf4)
+#define REACTOR_DOOR_ACTION (0x2000+0xf5)
+#define GT_REACTOR_DOOR (0x2000+0xf6)
+#define LEFT_FAIL_16 (0x2000+0xf7)
+#define GT_L_TALK_16 (0x2000+0xf8)
+#define RIGHT_FAIL_16 (0x2000+0xf9)
+#define GT_R_TALK_16 (0x2000+0xfa)
+#define REACTOR_ON (0x2000+0xfb)
+#define S17_LEFT_ON (0x2000+0xfc)
+#define GT_CORE_EXIT (0x2000+0xfd)
+#define CORE_EXIT_ACTION (0x2000+0xfe)
+#define S16_CORE_ON (0x2000+0xff)
+#define GT_ANITA_CARD (0x2000+0x100)
+#define ANITA_CARD_ACTION (0x2000+0x101)
+#define GT_RODS (0x2000+0x102)
+#define RODS_ACTION (0x2000+0x103)
+#define CONSOLE_16_LOGIC (0x2000+0x104)
+#define S10_RIGHT_ON (0x3000+0x1)
+#define GT_LEFT_EXIT_10 (0x3000+0x2)
+#define EL10_ACTION (0x3000+0x3)
+#define LIFT_10_LOGIC (0x3000+0x4)
+#define GT_SLOT_10 (0x3000+0x5)
+#define POD_LOGIC (0x3000+0x6)
+#define POD_LIGHT_LOGIC (0x3000+0x7)
+#define POD_LIGHT_ACTION (0x3000+0x8)
+#define GT_POD_LIGHT (0x3000+0x9)
+#define GT_LINC_10 (0x3000+0xa)
+#define LINC_10_ACTION (0x3000+0xb)
+#define GT_FLOOR_FROM_CHAIR10 (0x3000+0xc)
+#define GT_TERMINAL_10 (0x3000+0xd)
+#define TERMINAL_10_ACTION (0x3000+0xe)
+#define GT_SCANNER_10 (0x3000+0xf)
+#define SCANNER_10_ACTION (0x3000+0x10)
+#define GT_DOOR_10 (0x3000+0x11)
+#define DOOR_10_ACTION (0x3000+0x12)
+#define GT_SLOT_11 (0x3000+0x13)
+#define SLOT_11_ACTION (0x3000+0x14)
+#define GT_SOCCER_1 (0x3000+0x15)
+#define SOCCER_1_ACTION (0x3000+0x16)
+#define GT_SOCCER_2 (0x3000+0x17)
+#define GT_SOCCER_3 (0x3000+0x18)
+#define GT_SOCCER_4 (0x3000+0x19)
+#define GT_SOCCER_5 (0x3000+0x1a)
+#define SLAT_ACTION (0x3000+0x1b)
+#define GT_RIGHT_EXIT_11 (0x3000+0x1c)
+#define ER11_ACTION (0x3000+0x1d)
+#define S11_LEFT_ON (0x3000+0x1e)
+#define GT_LEFT_EXIT_19 (0x3000+0x1f)
+#define EL19_ACTION (0x3000+0x20)
+#define GT_TOP_RIGHT_19 (0x3000+0x21)
+#define TOP_R19_ACTION (0x3000+0x22)
+#define UCHAR_SSS (0x3000+0x23)
+#define UCHAR_ACTION (0x3000+0x24)
+#define GET_TO_UCHAR (0x3000+0x25)
+#define UCHAR_LOGIC (0x3000+0x26)
+#define S20_START_ON (0x3000+0x27)
+#define DOWN_20_FAIL (0x3000+0x28)
+#define GT_DOWN_EXIT_20 (0x3000+0x29)
+#define ED20_ACTION (0x3000+0x2a)
+#define REICH_20_ON (0x3000+0x2b)
+#define REICH_DOOR_FAIL (0x3000+0x2c)
+#define GT_REICH_DOOR_20 (0x3000+0x2d)
+#define REICH_DOOR_20_ACTION (0x3000+0x2e)
+#define GT_REICH_SLOT (0x3000+0x2f)
+#define REICH_SLOT_ACTION (0x3000+0x30)
+#define S20_REICH_ON (0x3000+0x31)
+#define REICH_DOOR_20_LOGIC (0x3000+0x32)
+#define LAMB_DOOR_20_LOGIC (0x3000+0x33)
+#define LAMB_SLOT_FAIL (0x3000+0x34)
+#define GT_LAMB_SLOT (0x3000+0x35)
+#define LAMB_SLOT_ACTION (0x3000+0x36)
+#define LAMB_20_ON (0x3000+0x37)
+#define LAMB_DOOR_FAIL (0x3000+0x38)
+#define GT_LAMB_DOOR_20 (0x3000+0x39)
+#define LAMB_DOOR_20_ACTION (0x3000+0x3a)
+#define S20_LAMB_ON (0x3000+0x3b)
+#define GT_SHRUB_1 (0x3000+0x3c)
+#define SHRUB_1_ACTION (0x3000+0x3d)
+#define GT_SHRUB_2 (0x3000+0x3e)
+#define SHRUB_2_ACTION (0x3000+0x3f)
+#define GT_SHRUB_3 (0x3000+0x40)
+#define SHRUB_3_ACTION (0x3000+0x41)
+#define START_20 (0x3000+0x42)
+#define GAL_LOGIC (0x3000+0x43)
+#define GT_GALLAGER_BEL (0x3000+0x44)
+#define GAL_BEL_ACTION (0x3000+0x45)
+#define GT_REICH_WINDOW (0x3000+0x46)
+#define REICH_WINDOW_ACTION (0x3000+0x47)
+#define GT_LAMB_WINDOW (0x3000+0x48)
+#define LAMB_WINDOW_ACTION (0x3000+0x49)
+#define LEFT_FAIL_20 (0x3000+0x4a)
+#define GT_L_TALK_20 (0x3000+0x4b)
+#define RIGHT_FAIL_20 (0x3000+0x4c)
+#define GT_R_TALK_20 (0x3000+0x4d)
+#define S21_START_ON (0x3000+0x4e)
+#define GT_LEFT_EXIT_21 (0x3000+0x4f)
+#define EL21_ACTION (0x3000+0x50)
+#define GT_LAMBS_BOOKS (0x3000+0x51)
+#define LAMBS_BOOKS_ACTION (0x3000+0x52)
+#define GT_LAMBS_CHAIR (0x3000+0x53)
+#define LAMBS_CHAIR_ACTION (0x3000+0x54)
+#define GT_DISPENSOR (0x3000+0x55)
+#define DISPENSOR_ACTION (0x3000+0x56)
+#define CAT_FOOD_LOGIC (0x3000+0x57)
+#define GT_CAT_FOOD (0x3000+0x58)
+#define CAT_FOOD_ACTION (0x3000+0x59)
+#define VIDEO_LOGIC (0x3000+0x5a)
+#define GT_VIDEO (0x3000+0x5b)
+#define VIDEO_ACTION (0x3000+0x5c)
+#define GT_CASSETTE (0x3000+0x5d)
+#define CASSETTE_ACTION (0x3000+0x5e)
+#define GT_BIG_PICT1 (0x3000+0x5f)
+#define BIG_PICT1_ACTION (0x3000+0x60)
+#define GT_VIDEO_SCREEN (0x3000+0x61)
+#define VIDEO_SCREEN_ACTION (0x3000+0x62)
+#define VIDEO_SCREEN_LOGIC (0x3000+0x63)
+#define GT_BIG_PICT2 (0x3000+0x64)
+#define BIG_PICT2_ACTION (0x3000+0x65)
+#define GT_BIG_PICT3 (0x3000+0x66)
+#define BIG_PICT3_ACTION (0x3000+0x67)
+#define CAT_LOGIC (0x3000+0x68)
+#define GT_CAT (0x3000+0x69)
+#define CAT_ACTION (0x3000+0x6a)
+#define INNER_LAMB_DOOR_LOGIC (0x3000+0x6b)
+#define S22_START_ON (0x3000+0x6c)
+#define GT_RIGHT_EXIT_22 (0x3000+0x6d)
+#define ER22_ACTION (0x3000+0x6e)
+#define GT_LAMB_BED (0x3000+0x6f)
+#define BED_ACTION (0x3000+0x70)
+#define GT_LAMB_TV (0x3000+0x71)
+#define LAMB_TV_ACTION (0x3000+0x72)
+#define GT_FISH_TANK (0x3000+0x73)
+#define FISH_TANK_ACTION (0x3000+0x74)
+#define FISH_POSTER_ACTION (0x3000+0x75)
+#define PILLOW_LOGIC (0x3000+0x76)
+#define GT_PILLOW (0x3000+0x77)
+#define PILLOW_ACTION (0x3000+0x78)
+#define GT_MAGAZINE (0x3000+0x79)
+#define MAGAZINE_ACTION (0x3000+0x7a)
+#define FISH_LOGIC (0x3000+0x7b)
+#define GT_REICH_CHAIR (0x3000+0x7c)
+#define REICH_CHAIR_ACTION (0x3000+0x7d)
+#define GT_CABINET (0x3000+0x7e)
+#define CABINET_ACTION (0x3000+0x7f)
+#define GT_CERT (0x3000+0x80)
+#define CERT_ACTION (0x3000+0x81)
+#define GT_REICH_PICTURE (0x3000+0x82)
+#define REICH_PICTURE_ACTION (0x3000+0x83)
+#define GT_FISH_FOOD (0x3000+0x84)
+#define FISH_FOOD_ACTION (0x3000+0x85)
+#define INNER_R_DOOR_LOGIC (0x3000+0x86)
+#define S23_LEFT_ON (0x3000+0x87)
+#define S23_ANCHOR_ON (0x3000+0x88)
+#define S23_TRAVEL_ON (0x3000+0x89)
+#define GT_LEFT_EXIT_23 (0x3000+0x8a)
+#define EL23_ACTION (0x3000+0x8b)
+#define GT_ANCHOR_EXIT_23 (0x3000+0x8c)
+#define ANCHOR23_ACTION (0x3000+0x8d)
+#define GT_TRAVEL_FAIL (0x3000+0x8e)
+#define GT_TRAVEL_EXIT_23 (0x3000+0x8f)
+#define TRAVEL_23_ACTION (0x3000+0x90)
+#define GT_BIN_23 (0x3000+0x91)
+#define BIN_23_ACTION (0x3000+0x92)
+#define GT_SCULPTURE (0x3000+0x93)
+#define SCULPTURE_ACTION (0x3000+0x94)
+#define GT_LINK_23 (0x3000+0x95)
+#define LINK_23_ACTION (0x3000+0x96)
+#define GT_WRECK_23 (0x3000+0x97)
+#define WRECK_23_ACTION (0x3000+0x98)
+#define GT_SMALL_23 (0x3000+0x99)
+#define SML_EXIT_S23_ACTION (0x3000+0x9a)
+#define S24_LEFT_ON (0x3000+0x9b)
+#define GT_LEFT_EXIT_24 (0x3000+0x9c)
+#define EL24_ACTION (0x3000+0x9d)
+#define GT_LONDON_POSTER (0x3000+0x9e)
+#define LONDON_ACTION (0x3000+0x9f)
+#define GT_NEW_YORK (0x3000+0xa0)
+#define NEW_YORK_ACTION (0x3000+0xa1)
+#define GT_MURAL (0x3000+0xa2)
+#define MURAL_ACTION (0x3000+0xa3)
+#define GT_PIDGEONS (0x3000+0xa4)
+#define PIDGEONS_ACTION (0x3000+0xa5)
+#define TREVOR_LOGIC (0x3000+0xa6)
+#define TREVOR_SSS (0x3000+0xa7)
+#define TREVOR_ACTION (0x3000+0xa8)
+#define GT_TREVOR (0x3000+0xa9)
+#define TICKET_LOGIC (0x3000+0xaa)
+#define TICKET_ACTION (0x3000+0xab)
+#define GT_TICKET (0x3000+0xac)
+#define GT_GLOBE (0x3000+0xad)
+#define GLOBE_ACTION (0x3000+0xae)
+#define GLOBE_LOGIC (0x3000+0xaf)
+#define S25_LEFT_ON (0x3000+0xb0)
+#define GT_ANCHOR_EXIT_25 (0x3000+0xb1)
+#define ANCHOR25_ACTION (0x3000+0xb2)
+#define ANCHOR_LOGIC (0x3000+0xb3)
+#define ANCHOR_SSS (0x3000+0xb4)
+#define ANCHOR_ACTION (0x3000+0xb5)
+#define GT_ANCHOR (0x3000+0xb6)
+#define ANCHOR_MISSION (0x3000+0xb7)
+#define JOEY_PC_MISSION (0x3000+0xb8)
+#define GT_ANCHOR_PC (0x3000+0xb9)
+#define HOOK_LOGIC (0x3000+0xba)
+#define GT_STATUE_25 (0x3000+0xbb)
+#define STATUE_25_ACTION (0x3000+0xbc)
+#define HOOK_MISSION (0x3000+0xbd)
+#define LAZER_25_LOGIC (0x3000+0xbe)
+#define SPARK_25_LOGIC (0x3000+0xbf)
+#define GT_HOOK (0x3000+0xc0)
+#define HOOK_ACTION (0x3000+0xc1)
+#define GT_SALES_CHART (0x3000+0xc2)
+#define SALES_CHART_ACTION (0x3000+0xc3)
+#define S26_LEFT_ON (0x3000+0xc4)
+#define S26_RIGHT_ON (0x3000+0xc5)
+#define GT_RIGHT_EXIT_26 (0x3000+0xc6)
+#define ER26_ACTION (0x3000+0xc7)
+#define START_26 (0x3000+0xc8)
+#define GT_POSTER (0x3000+0xc9)
+#define POSTER1_ACTION (0x3000+0xca)
+#define POSTER2_ACTION (0x3000+0xcb)
+#define POSTER3_ACTION (0x3000+0xcc)
+#define POSTER4_ACTION (0x3000+0xcd)
+#define GT_PLANT (0x3000+0xce)
+#define PLANT_26_ACTION (0x3000+0xcf)
+#define NU_GT_HOLO (0x3000+0xd0)
+#define GT_HOLO (0x3000+0xd1)
+#define HOLO_ACTION (0x3000+0xd2)
+#define HELGA_LOGIC (0x3000+0xd3)
+#define JOEY_HELGA_MISSION (0x3000+0xd4)
+#define GT_LEFT_EXIT_26 (0x3000+0xd5)
+#define EL26_ACTION (0x3000+0xd6)
+#define HELGA_ACTION (0x3000+0xd7)
+#define BIO_DOOR_LOGIC (0x3000+0xd8)
+#define GT_BIO_DOOR (0x3000+0xd9)
+#define BIO_DOOR_ACTION (0x3000+0xda)
+#define GT_LEAFLET (0x3000+0xdb)
+#define LEAFLET_LOGIC (0x3000+0xdc)
+#define LEAFLET_ACTION (0x3000+0xdd)
+#define S27_RIGHT_ON (0x3000+0xde)
+#define GT_RIGHT_EXIT_27 (0x3000+0xdf)
+#define ER27_ACTION (0x3000+0xe0)
+#define GT_CHART1 (0x3000+0xe1)
+#define CHART1_ACTION (0x3000+0xe2)
+#define GT_CHART2 (0x3000+0xe3)
+#define CHART2_ACTION (0x3000+0xe4)
+#define GT_GAS (0x3000+0xe5)
+#define GAS_ACTION (0x3000+0xe6)
+#define GT_CHAIR_27 (0x3000+0xe7)
+#define CHAIR_27_ACTION (0x3000+0xe8)
+#define GT_FLOOR_FROM_CHAIR (0x3000+0xe9)
+#define GT_SCANNER_27 (0x3000+0xea)
+#define SCANNER_27_ACTION (0x3000+0xeb)
+#define GT_L_TALK_27 (0x3000+0xec)
+#define RIGHT_FAIL_27 (0x3000+0xed)
+#define GT_R_TALK_27 (0x3000+0xee)
+#define BURKE_LOGIC (0x3000+0xef)
+#define GT_MEDI_COMP (0x3000+0xf0)
+#define MEDI_COMP_ACTION (0x3000+0xf1)
+#define BURKE_1 (0x3000+0xf2)
+#define BURKE_2 (0x3000+0xf3)
+#define DR_BURKE_1 (0x3000+0xf4)
+#define SCANNER_27_LOGIC (0x3000+0xf5)
+#define HELMET_LOGIC (0x3000+0xf6)
+#define BODY_SSS (0x3000+0xf7)
+#define BODY_ACTION (0x3000+0xf8)
+#define BUSY_BODY (0x3000+0xf9)
+#define GT_BODY (0x3000+0xfa)
+#define GT_HELMET (0x3000+0xfb)
+#define HELMET_ACTION (0x3000+0xfc)
+#define GLASS_SLOT_LOGIC (0x3000+0xfd)
+#define GLASS_MISSION (0x3000+0xfe)
+#define MEDIC_LOGIC (0x3000+0xff)
+#define S28_RIGHT_ON (0x3000+0x100)
+#define GT_RIGHT_EXIT_28 (0x3000+0x101)
+#define ER28_ACTION (0x3000+0x102)
+#define GT_LEFT_EXIT_28 (0x3000+0x103)
+#define EL28_ACTION (0x3000+0x104)
+#define S28_LEFT_ON (0x3000+0x105)
+#define GT_DUSTBIN_28 (0x3000+0x106)
+#define DUSTBIN_ACTION (0x3000+0x107)
+#define UP_28_FAIL (0x3000+0x108)
+#define GT_UP_EXIT_28 (0x3000+0x109)
+#define EU28_ACTION (0x3000+0x10a)
+#define S28_UP_ON (0x3000+0x10b)
+#define LEFT_FAIL_28 (0x3000+0x10c)
+#define GT_L_TALK_28 (0x3000+0x10d)
+#define RIGHT_FAIL_28 (0x3000+0x10e)
+#define GT_R_TALK_28 (0x3000+0x10f)
+#define GT_SML_R_28 (0x3000+0x110)
+#define R_28_SML_ACTION (0x3000+0x111)
+#define GT_SML_L_28 (0x3000+0x112)
+#define L_28_SML_ACTION (0x3000+0x113)
+#define SML_RIGHT_28 (0x3000+0x114)
+#define SML_LEFT_28 (0x3000+0x115)
+#define LIFT_28_LOGIC (0x3000+0x116)
+#define GT_LIFT_28 (0x3000+0x117)
+#define LIFT_28_ACTION (0x3000+0x118)
+#define S28_SLOT_ACTION (0x3000+0x119)
+#define GT_SLOT_28 (0x3000+0x11a)
+#define S29_LIFT_LOGIC (0x3000+0x11b)
+#define JOEY_TO_LIFT29 (0x3000+0x11c)
+#define LIFT_29_ACTION (0x3000+0x11d)
+#define GT_29_LIFT (0x3000+0x11e)
+#define S29_SLOT_ACTION (0x3000+0x11f)
+#define GT_29_CARD_SLOT (0x3000+0x120)
+#define JOEY_OUT_OF_LIFT (0x3000+0x121)
+#define GT_RIGHT_EXIT_29 (0x3000+0x122)
+#define ER29_ACTION (0x3000+0x123)
+#define S29_RIGHT_ON (0x3000+0x124)
+#define GT_LEFT_EXIT_29 (0x3000+0x125)
+#define EL29_ACTION (0x3000+0x126)
+#define S29_LEFT_ON (0x3000+0x127)
+#define OTHER_LIFT_WAIT (0x3000+0x128)
+#define GT_LIFT_WAIT (0x3000+0x129)
+#define LAMB_BELL_LOGIC (0x3000+0x12a)
+#define LAMB_LEAVE_GARDEN (0x3000+0x12b)
+#define LAMB_START_29 (0x3000+0x12c)
+#define LEFT_FAIL_29 (0x3000+0x12d)
+#define GT_L_TALK_29 (0x3000+0x12e)
+#define RIGHT_FAIL_29 (0x3000+0x12f)
+#define GT_R_TALK_29 (0x3000+0x130)
+#define GT_CABLE_29 (0x3000+0x131)
+#define CABLE_29_ACTION (0x3000+0x132)
+#define GT_SML_R_29 (0x3000+0x133)
+#define R_29_SML_ACTION (0x3000+0x134)
+#define GT_SML_L_29 (0x3000+0x135)
+#define L_29_SML_ACTION (0x3000+0x136)
+#define SML_RIGHT_29 (0x3000+0x137)
+#define SML_LEFT_29 (0x3000+0x138)
+#define DANI_SPEECH (0x4000+0x1)
+#define HENRI_SPEECH (0x4000+0x2)
+#define BUZZER_SPEECH (0x4000+0x3)
+#define JUKEBOX_SPEECH (0x4000+0x4)
+#define VINCENT_SPEECH (0x0000+0x40)
+#define EDDIE_SPEECH (0x0000+0x41)
+#define BLUNT_SPEECH (0x0000+0x42)
+#define BARRY_SPEECH (0x4000+0x5)
+#define COLSTON_SPEECH (0x0000+0x43)
+#define GALL_SPEECH (0x0000+0x44)
+#define BABS_SPEECH (0x4000+0x6)
+#define CHUTNEY_SPEECH (0x0000+0x45)
+#define DOG_BARK_LOGIC (0x4000+0x7)
+#define SPUNKY_SMELLS_FOOD (0x4000+0x8)
+#define SPUNKY_EXTRA (0x4000+0x9)
+#define SPUNKY_LOGIC (0x4000+0xa)
+#define SPUNKY_EAT_FOOD (0x4000+0xb)
+#define SPUNKY_BARK_AT_FOSTER (0x4000+0xc)
+#define SPUNKY_GO_HOME (0x4000+0xd)
+#define SPUNKY_SEE_VIDEO (0x4000+0xe)
+#define DANIELLE_SSS (0x4000+0xf)
+#define GT_SC31_DANIELLE (0x4000+0x10)
+#define SC31_DANI_ACTION (0x4000+0x11)
+#define DANI_CHAT_TO_GUARD (0x4000+0x12)
+#define GT_DANI_WAIT (0x4000+0x13)
+#define DANIELLE_EXTRA (0x4000+0x14)
+#define DANIELLE_LOGIC (0x4000+0x15)
+#define GT_SC32_DANIELLE_AT_LIFT (0x4000+0x16)
+#define SC32_DANIELLE_AT_LIFT_ACTION (0x4000+0x17)
+#define DANIELLE_GO_HOME (0x4000+0x18)
+#define GT_SC38_DANIELLE (0x4000+0x19)
+#define SC38_DANIELLE_ACTION (0x4000+0x1a)
+#define GT_SC38_HAND_SET (0x4000+0x1b)
+#define DANI_ANSWER_PHONE (0x4000+0x1c)
+#define FOSTER_VISIT_DANI (0x4000+0x1d)
+#define GN_SC30_LEFT_TALK (0x4000+0x1e)
+#define GT_SC30_LEFT_TALK (0x4000+0x1f)
+#define GN_SC30_RIGHT_TALK (0x4000+0x20)
+#define GT_SC30_RIGHT_TALK (0x4000+0x21)
+#define SC30_EXIT_31_WALK_ON (0x4000+0x22)
+#define GT_SC30_EXIT_31 (0x4000+0x23)
+#define SC30_EXIT_31_ACTION (0x4000+0x24)
+#define SC30_EXIT_33_WALK_ON (0x4000+0x25)
+#define GT_SC30_EXIT_33 (0x4000+0x26)
+#define SC30_EXIT_33_ACTION (0x4000+0x27)
+#define SC30_COURT_DOOR_MOUSE_ON (0x4000+0x28)
+#define SC30_COURT_DOOR_WALK_ON (0x4000+0x29)
+#define GT_SC30_COURT_DOOR (0x4000+0x2a)
+#define SC30_COURT_DOOR_ACTION (0x4000+0x2b)
+#define SC30_COURT_DOOR_LOGIC (0x4000+0x2c)
+#define GT_SC30_NOTICE (0x4000+0x2d)
+#define SC30_NOTICE_ACTION (0x4000+0x2e)
+#define GT_SC30_STATUE_1 (0x4000+0x2f)
+#define SC30_STATUE_1_ACTION (0x4000+0x30)
+#define GT_SC30_STATUE_2 (0x4000+0x31)
+#define SC30_STATUE_2_ACTION (0x4000+0x32)
+#define SC30_HENRI_LOGIC (0x4000+0x33)
+#define SC30_HENRI_SSS (0x4000+0x34)
+#define GT_SC30_HENRI (0x4000+0x35)
+#define SC30_HENRI_ACTION (0x4000+0x36)
+#define SC30_EXIT_36_WALK_ON (0x4000+0x37)
+#define GT_SC30_EXIT_36 (0x4000+0x38)
+#define SC30_EXIT_36_ACTION (0x4000+0x39)
+#define GN_SC31_LEFT_TALK (0x4000+0x3a)
+#define GT_SC31_LEFT_TALK (0x4000+0x3b)
+#define GN_SC31_RIGHT_TALK (0x4000+0x3c)
+#define GT_SC31_RIGHT_TALK (0x4000+0x3d)
+#define SC31_EXIT_30_WALK_ON (0x4000+0x3e)
+#define GT_SC31_EXIT_30 (0x4000+0x3f)
+#define SC31_EXIT_30_ACTION (0x4000+0x40)
+#define SC31_EXIT_32_WALK_ON (0x4000+0x41)
+#define GT_SC31_EXIT_32 (0x4000+0x42)
+#define SC31_EXIT_32_ACTION (0x4000+0x43)
+#define GT_SC31_LIFT_SLOT (0x4000+0x44)
+#define SC31_LIFT_SLOT_ACTION (0x4000+0x45)
+#define GT_SC31_LIFT (0x4000+0x46)
+#define SC31_LIFT_ACTION (0x4000+0x47)
+#define SC31_LIFT_LOGIC (0x4000+0x48)
+#define SC31_GUARD_RESCUE_DOG (0x4000+0x49)
+#define GT_SC31_END_OF_ROPE (0x4000+0x4a)
+#define SC31_END_OF_ROPE_ACTION (0x4000+0x4b)
+#define SC31_ROPE_LOGIC (0x4000+0x4c)
+#define SC31_BRICKS_LOGIC (0x4000+0x4d)
+#define SC31_PLANK_LOGIC (0x4000+0x4e)
+#define SC31_BISCUITS_LOGIC (0x4000+0x4f)
+#define GT_SC31_BRICKS (0x4000+0x50)
+#define SC31_BRICKS_ACTION (0x4000+0x51)
+#define GN_SC31_PLANK (0x4000+0x52)
+#define GT_SC31_PLANK (0x4000+0x53)
+#define SC31_PLANK_ACTION (0x4000+0x54)
+#define SC31_GUARD_LOGIC (0x4000+0x55)
+#define SC31_GUARD_CHATTING_LOGIC (0x4000+0x56)
+#define SC31_GUARD_SSS (0x4000+0x57)
+#define GN_SC31_GUARD (0x4000+0x58)
+#define GT_SC31_GUARD (0x4000+0x59)
+#define SC31_GUARD_ACTION (0x4000+0x5a)
+#define SC31_GUARD_CHATTING_ACTION (0x4000+0x5b)
+#define SC31_EXIT_39_WALK_ON (0x4000+0x5c)
+#define GT_SC31_EXIT_39 (0x4000+0x5d)
+#define SC31_EXIT_39_ACTION (0x4000+0x5e)
+#define SC31_JOEY_LOGIC (0x4000+0x5f)
+#define GT_SC31_JOEY (0x4000+0x60)
+#define SC31_JOEY_ACTION (0x4000+0x61)
+#define SC31_AT_WATCHER_LOGIC (0x4000+0x62)
+#define GN_SC32_LEFT_TALK (0x4000+0x63)
+#define GT_SC32_LEFT_TALK (0x4000+0x64)
+#define GN_SC32_RIGHT_TALK (0x4000+0x65)
+#define GT_SC32_RIGHT_TALK (0x4000+0x66)
+#define SC32_EXIT_31_WALK_ON (0x4000+0x67)
+#define GT_SC32_EXIT_31 (0x4000+0x68)
+#define SC32_EXIT_31_ACTION (0x4000+0x69)
+#define SC32_EXIT_33_WALK_ON (0x4000+0x6a)
+#define GT_SC32_EXIT_33 (0x4000+0x6b)
+#define SC32_EXIT_33_ACTION (0x4000+0x6c)
+#define GT_SC32_TERMINAL (0x4000+0x6d)
+#define SC32_TERMINAL_ACTION (0x4000+0x6e)
+#define GT_SC32_PLANT_1 (0x4000+0x6f)
+#define SC32_PLANT_1_ACTION (0x4000+0x70)
+#define GT_SC32_PLANT_2 (0x4000+0x71)
+#define SC32_PLANT_2_ACTION (0x4000+0x72)
+#define GT_SC32_PLANT_3 (0x4000+0x73)
+#define SC32_PLANT_3_ACTION (0x4000+0x74)
+#define SC32_BUZZER_LOGIC (0x4000+0x75)
+#define GT_SC32_BUZZER (0x4000+0x76)
+#define SC32_BUZZER_ACTION (0x4000+0x77)
+#define GT_SC32_LIFT (0x4000+0x78)
+#define SC32_LIFT_ACTION (0x4000+0x79)
+#define SC32_LIFT_LOGIC (0x4000+0x7a)
+#define SC32_VINCENT_LOGIC (0x4000+0x7b)
+#define SC32_VINCENT_SSS (0x4000+0x7c)
+#define GT_SC32_VINCENT (0x4000+0x7d)
+#define SC32_VINCENT_ACTION (0x4000+0x7e)
+#define SC32_GARDENER_LOGIC (0x4000+0x7f)
+#define SC32_GARDENER_SSS (0x4000+0x80)
+#define GT_SC32_GARDENER (0x4000+0x81)
+#define SC32_GARDENER_ACTION (0x4000+0x82)
+#define GN_SC33_LEFT_TALK (0x4000+0x83)
+#define GT_SC33_LEFT_TALK (0x4000+0x84)
+#define GN_SC33_RIGHT_TALK (0x4000+0x85)
+#define GT_SC33_RIGHT_TALK (0x4000+0x86)
+#define SC33_EXIT_30_WALK_ON (0x4000+0x87)
+#define GT_SC33_EXIT_30 (0x4000+0x88)
+#define SC33_EXIT_30_ACTION (0x4000+0x89)
+#define SC33_EXIT_32_WALK_ON (0x4000+0x8a)
+#define GT_SC33_EXIT_32 (0x4000+0x8b)
+#define SC33_EXIT_32_ACTION (0x4000+0x8c)
+#define SC33_SHED_DOOR_LOGIC (0x4000+0x8d)
+#define SC33_SHED_DOOR_MOUSE_ON (0x4000+0x8e)
+#define SC33_SHED_DOOR_WALK_ON (0x4000+0x8f)
+#define GT_SC33_SHED_DOOR (0x4000+0x90)
+#define SC33_SHED_DOOR_ACTION (0x4000+0x91)
+#define GT_SC33_LOCK (0x4000+0x92)
+#define SC33_LOCK_ACTION (0x4000+0x93)
+#define SC34_DOOR_WALK_ON (0x4000+0x94)
+#define GT_SC34_DOOR (0x4000+0x95)
+#define SC34_DOOR_ACTION (0x4000+0x96)
+#define GT_SC34_SECATEURS (0x4000+0x97)
+#define SC34_SECATEURS_ACTION (0x4000+0x98)
+#define SC34_SECATEURS_LOGIC (0x4000+0x99)
+#define GT_SC34_TKT_MACHINE (0x4000+0x9a)
+#define SC34_TKT_MACHINE_ACTION (0x4000+0x9b)
+#define GT_SC34_MAP (0x4000+0x9c)
+#define SC34_MAP_ACTION (0x4000+0x9d)
+#define GT_SC34_BRICKS (0x4000+0x9e)
+#define SC34_BRICKS_ACTION (0x4000+0x9f)
+#define GN_SC36_LEFT_TALK (0x4000+0xa0)
+#define GT_SC36_LEFT_TALK (0x4000+0xa1)
+#define GN_SC36_RIGHT_TALK (0x4000+0xa2)
+#define GT_SC36_RIGHT_TALK (0x4000+0xa3)
+#define GT_SC36_LOW_FLOOR (0x4000+0xa4)
+#define GT_SC36_FLOOR (0x4000+0xa5)
+#define SC36_EXIT_30_WALK_ON (0x4000+0xa6)
+#define GT_SC36_EXIT_30 (0x4000+0xa7)
+#define SC36_EXIT_30_ACTION (0x4000+0xa8)
+#define GT_SC36_SENSOR (0x4000+0xa9)
+#define SC36_SENSOR_ACTION (0x4000+0xaa)
+#define SC36_DOOR_WALK_ON (0x4000+0xab)
+#define GT_SC36_DOOR (0x4000+0xac)
+#define SC36_DOOR_ACTION (0x4000+0xad)
+#define SC36_DOOR_LOGIC (0x4000+0xae)
+#define SC36_BAND_LOGIC (0x4000+0xaf)
+#define GT_SC36_BAND (0x4000+0xb0)
+#define SC36_BAND_ACTION (0x4000+0xb1)
+#define SC36_JUKE_LIGHT_LOGIC (0x4000+0xb2)
+#define SC36_COLSTON_FIX_JUKEBOX (0x4000+0xb3)
+#define PLAY_TUNE_1 (0x4000+0xb4)
+#define PLAY_TUNE_2 (0x4000+0xb5)
+#define PLAY_TUNE_3 (0x4000+0xb6)
+#define SC36_JUKEBOX_SSS (0x4000+0xb7)
+#define SC36_JUKEBOX_LOGIC (0x4000+0xb8)
+#define GT_SC36_JUKEBOX (0x4000+0xb9)
+#define SC36_JUKEBOX_ACTION (0x4000+0xba)
+#define SC36_BARMAN_LOGIC (0x4000+0xbb)
+#define SC36_BARMAN_SSS (0x4000+0xbc)
+#define GT_SC36_BARMAN (0x4000+0xbd)
+#define SC36_BARMAN_ACTION (0x4000+0xbe)
+#define SC36_COLSTON_LOGIC (0x4000+0xbf)
+#define SC36_COLSTON_SSS (0x4000+0xc0)
+#define GT_SC36_COLSTON (0x4000+0xc1)
+#define SC36_COLSTON_ACTION (0x4000+0xc2)
+#define SC36_GALLAGHER_LOGIC (0x4000+0xc3)
+#define SC36_GALLAGHER_SSS (0x4000+0xc4)
+#define GT_SC36_GALLAGHER (0x4000+0xc5)
+#define SC36_GALLAGHER_ACTION (0x4000+0xc6)
+#define SC36_CARDS_LOGIC (0x4000+0xc7)
+#define GT_SC36_GLASS (0x4000+0xc8)
+#define SC36_COLSTON_PROTEST (0x4000+0xc9)
+#define SC36_GLASS_ACTION (0x4000+0xca)
+#define MOVE_BABS (0x4000+0xcb)
+#define SC36_BABS_LOGIC (0x4000+0xcc)
+#define BABS_LOGIC_AMIGA (0x4000+0xcd)
+#define GT_BABS_AMIGA (0x4000+0xce)
+#define BABS_SSS_AMIGA (0x4000+0xcf)
+#define BABS_ACTION_AMIGA (0x4000+0xd0)
+#define GT_SC37_SENSOR (0x4000+0xd1)
+#define SC37_SENSOR_ACTION (0x4000+0xd2)
+#define SC37_DOOR_WALK_ON (0x4000+0xd3)
+#define GT_SC37_DOOR (0x4000+0xd4)
+#define SC37_DOOR_ACTION (0x4000+0xd5)
+#define SC37_DOOR_LOGIC (0x4000+0xd6)
+#define GT_SC37_GRILL (0x4000+0xd7)
+#define SC37_GRILL_ACTION (0x4000+0xd8)
+#define SC37_GRILL_LOGIC (0x4000+0xd9)
+#define GT_SC37_FLIMSY_BOX (0x4000+0xda)
+#define SC37_FLIMSY_BOX_ACTION (0x4000+0xdb)
+#define STEP_OFF_BOX (0x4000+0xdc)
+#define GT_SC37_BIG_BOX (0x4000+0xdd)
+#define SC37_BIG_BOX_ACTION (0x4000+0xde)
+#define GT_SC37_LID (0x4000+0xdf)
+#define SC37_LID_ACTION (0x4000+0xe0)
+#define PUT_LID_BACK (0x4000+0xe1)
+#define USE_LID_ON_FLIMSY_BOX (0x4000+0xe2)
+#define SC37_LID_LOGIC (0x4000+0xe3)
+#define GT_SC37_WINE_RACK (0x4000+0xe4)
+#define SC37_WINE_RACK_ACTION (0x4000+0xe5)
+#define GN_SC38_LEFT_TALK (0x4000+0xe6)
+#define GT_SC38_LEFT_TALK (0x4000+0xe7)
+#define GN_SC38_RIGHT_TALK (0x4000+0xe8)
+#define GT_SC38_RIGHT_TALK (0x4000+0xe9)
+#define GT_SC38_LIFT (0x4000+0xea)
+#define SC38_LIFT_ACTION (0x4000+0xeb)
+#define SC38_LIFT_LOGIC (0x4000+0xec)
+#define GT_SC38_STATUE (0x4000+0xed)
+#define SC38_STATUE_ACTION (0x4000+0xee)
+#define GT_SC38_VIDEO (0x4000+0xef)
+#define SC38_VIDEO_ACTION (0x4000+0xf0)
+#define SC38_VIDEO_LOGIC (0x4000+0xf1)
+#define GT_SC38_MONITOR (0x4000+0xf2)
+#define SC38_MONITOR_ACTION (0x4000+0xf3)
+#define SC38_MONITOR_LOGIC (0x4000+0xf4)
+#define GT_SC38_SOFA (0x4000+0xf5)
+#define SC38_SOFA_ACTION (0x4000+0xf6)
+#define GT_SC38_DOG_TRAY (0x4000+0xf7)
+#define SC38_DOG_TRAY_ACTION (0x4000+0xf8)
+#define GT_SC38_BISCUITS (0x4000+0xf9)
+#define SC38_BISCUITS_ACTION (0x4000+0xfa)
+#define SC38_RINGER_LOGIC (0x4000+0xfb)
+#define SC39_EXIT_31_WALK_ON (0x4000+0xfc)
+#define GT_SC39_EXIT_31 (0x4000+0xfd)
+#define SC39_EXIT_31_ACTION (0x4000+0xfe)
+#define GT_SC39_EXIT_40 (0x4000+0xff)
+#define SC39_EXIT_40_ACTION (0x4000+0x100)
+#define SC39_EXIT_41_WALK_ON (0x4000+0x101)
+#define GT_SC39_EXIT_41 (0x4000+0x102)
+#define SC39_EXIT_41_ACTION (0x4000+0x103)
+#define GT_SC39_WALTERS (0x4000+0x104)
+#define SC39_WALTERS_ACTION (0x4000+0x105)
+#define GT_SC40_EXIT_39 (0x4000+0x106)
+#define SC40_EXIT_39_ACTION (0x4000+0x107)
+#define GT_SC40_CABINET (0x4000+0x108)
+#define SC40_CABINET_ACTION (0x4000+0x109)
+#define GT_SC40_TROLLEY (0x4000+0x10a)
+#define SC40_TROLLEY_ACTION (0x4000+0x10b)
+#define GT_SC40_LOCKER_1 (0x4000+0x10c)
+#define SC40_LOCKER_1_ACTION (0x4000+0x10d)
+#define GT_SC40_LOCKER_2 (0x4000+0x10e)
+#define SC40_LOCKER_2_ACTION (0x4000+0x10f)
+#define GT_SC40_LOCKER_3 (0x4000+0x110)
+#define SC40_LOCKER_3_ACTION (0x4000+0x111)
+#define GT_SC40_LOCKER_4 (0x4000+0x112)
+#define SC40_LOCKER_4_ACTION (0x4000+0x113)
+#define GT_SC40_LOCKER_5 (0x4000+0x114)
+#define SC40_LOCKER_5_ACTION (0x4000+0x115)
+#define GT_SC40_BODY_1 (0x4000+0x116)
+#define SC40_BODY_1_ACTION (0x4000+0x117)
+#define GT_SC40_BODY_2 (0x4000+0x118)
+#define SC40_BODY_2_ACTION (0x4000+0x119)
+#define GT_SC40_BODY_3 (0x4000+0x11a)
+#define SC40_BODY_3_ACTION (0x4000+0x11b)
+#define GT_SC40_BODY_4 (0x4000+0x11c)
+#define SC40_BODY_4_ACTION (0x4000+0x11d)
+#define GT_SC40_BODY_5 (0x4000+0x11e)
+#define SC40_BODY_5_ACTION (0x4000+0x11f)
+#define SC40_LOCKER_1_LOGIC (0x4000+0x120)
+#define SC40_LOCKER_2_LOGIC (0x4000+0x121)
+#define SC40_LOCKER_3_LOGIC (0x4000+0x122)
+#define SC40_LOCKER_4_LOGIC (0x4000+0x123)
+#define SC40_LOCKER_5_LOGIC (0x4000+0x124)
+#define SC41_EXIT_39_WALK_ON (0x4000+0x125)
+#define GT_SC41_EXIT_39 (0x4000+0x126)
+#define SC41_EXIT_39_ACTION (0x4000+0x127)
+#define SC41_HEAT_1_LOGIC (0x4000+0x128)
+#define SC41_HEAT_2_LOGIC (0x4000+0x129)
+#define SC41_HEAT_3_LOGIC (0x4000+0x12a)
+#define FOSTER_ENTER_COURT (0x4000+0x12b)
+#define SC42_JUDGE_LOGIC (0x4000+0x12c)
+#define SC42_CLERK_LOGIC (0x4000+0x12d)
+#define SC42_PROSECUTION_LOGIC (0x4000+0x12e)
+#define SC42_JOBSWORTH_LOGIC (0x4000+0x12f)
+#define SC42_BLUNT_LOGIC (0x4000+0x130)
+#define SC42_DANI_LOGIC (0x4000+0x131)
+#define SC42_SIGN_LOGIC (0x4000+0x132)
+#define SC44_EXIT_45_WALK_ON (0x4000+0x133)
+#define GT_SC44_EXIT_45 (0x4000+0x134)
+#define SC44_EXIT_45_ACTION (0x4000+0x135)
+#define GT_SC44_GRILL (0x4000+0x136)
+#define SC44_GRILL_ACTION (0x4000+0x137)
+#define GT_SC44_RUBBLE (0x4000+0x138)
+#define SC44_RUBBLE_ACTION (0x4000+0x139)
+#define SC45_EXIT_44_WALK_ON (0x4000+0x13a)
+#define GT_SC45_EXIT_44 (0x4000+0x13b)
+#define SC45_EXIT_44_ACTION (0x4000+0x13c)
+#define SC45_EXIT_46_WALK_ON (0x4000+0x13d)
+#define GT_SC45_EXIT_46 (0x4000+0x13e)
+#define SC45_EXIT_46_ACTION (0x4000+0x13f)
+#define SC45_EXIT_47_WALK_ON (0x4000+0x140)
+#define GT_SC45_EXIT_47 (0x4000+0x141)
+#define SC45_EXIT_47_ACTION (0x4000+0x142)
+#define SC46_EXIT_45_WALK_ON (0x4000+0x143)
+#define GT_SC46_EXIT_45 (0x4000+0x144)
+#define SC46_EXIT_45_ACTION (0x4000+0x145)
+#define GT_SC46_RUBBLE (0x4000+0x146)
+#define SC46_RUBBLE_ACTION (0x4000+0x147)
+#define SC47_EXIT_45_WALK_ON (0x4000+0x148)
+#define GT_SC47_EXIT_45 (0x4000+0x149)
+#define SC47_EXIT_45_ACTION (0x4000+0x14a)
+#define SC47_EXIT_48_WALK_ON (0x4000+0x14b)
+#define GT_SC47_EXIT_48 (0x4000+0x14c)
+#define SC47_EXIT_48_ACTION (0x4000+0x14d)
+#define SC48_EXIT_47_WALK_ON (0x4000+0x14e)
+#define GT_SC48_EXIT_47 (0x4000+0x14f)
+#define SC48_EXIT_47_ACTION (0x4000+0x150)
+#define SC48_EXIT_65_WALK_ON (0x4000+0x151)
+#define GT_SC48_EXIT_65 (0x4000+0x152)
+#define SC48_EXIT_65_ACTION (0x4000+0x153)
+#define GT_SC48_SOCKET (0x4000+0x154)
+#define SC48_SOCKET_ACTION (0x4000+0x155)
+#define SC48_SOCKET_LOGIC (0x4000+0x156)
+#define GT_SC48_HOLE (0x4000+0x157)
+#define SC48_HOLE_ACTION (0x4000+0x158)
+#define FOSTER_SEES_EYES (0x4000+0x159)
+#define SC48_HOLE_LOGIC (0x4000+0x15a)
+#define SC48_EYES_LOGIC (0x4000+0x15b)
+#define SC65_EXIT_48_WALK_ON (0x4000+0x15c)
+#define GT_SC65_EXIT_48 (0x4000+0x15d)
+#define SC65_EXIT_48_ACTION (0x4000+0x15e)
+#define GT_SC65_EXIT_66 (0x4000+0x15f)
+#define GT_SC65_POSTER1 (0x4000+0x160)
+#define SC65_POSTER1_ACTION (0x4000+0x161)
+#define GT_SC65_POSTER2 (0x4000+0x162)
+#define SC65_POSTER2_ACTION (0x4000+0x163)
+#define GT_SC65_SIGN (0x4000+0x164)
+#define SC65_SIGN_ACTION (0x4000+0x165)
+#define WALTER_SPEECH (0x5000+0x1)
+#define JOEY_MEDIC (0x5000+0x2)
+#define KEN_SPEECH (0x5000+0x3)
+#define BORED_ROOM (0x5000+0x4)
+#define HOBS_END (0x0000+0x46)
+#define GT_JOEY_PARK (0x5000+0x5)
+#define JOEY_MED_EXTRA (0x5000+0x6)
+#define JOEY_MED_LOGIC (0x5000+0x7)
+#define JOEY_MISSION72_EXTRA (0x5000+0x8)
+#define JOEY_MED_MISSION72 (0x5000+0x9)
+#define GT_RECHARGING_MEDI (0x5000+0xa)
+#define RECHARGING_MEDI_ACTION (0x5000+0xb)
+#define MEDI_LOGIC (0x5000+0xc)
+#define SC67_MEND_LOGIC (0x5000+0xd)
+#define MEDI_ACTION (0x5000+0xe)
+#define GT_SC71_MEDI_SLOT (0x5000+0xf)
+#define SC71_MEDI_SLOT_ACTION (0x5000+0x10)
+#define SC66_FOSTER_GETS_CRUSHED (0x5000+0x11)
+#define SC66_TIMER_LOGIC (0x5000+0x12)
+#define SC66_DOOR_LOGIC (0x5000+0x13)
+#define SC66_STONES_LOGIC (0x5000+0x14)
+#define SC66_LO_BEAM_LOGIC (0x5000+0x15)
+#define SC66_HI_BEAM_LOGIC (0x5000+0x16)
+#define SC66_ROCK1_LOGIC (0x5000+0x17)
+#define SC66_ROCK2_LOGIC (0x5000+0x18)
+#define SC66_ROCK3_LOGIC (0x5000+0x19)
+#define SC66_HOLE_ACTION (0x5000+0x1a)
+#define SC67_PULSE1_LOGIC (0x5000+0x1b)
+#define SC67_PULSE2_LOGIC (0x5000+0x1c)
+#define SC67_PULSE3_LOGIC (0x5000+0x1d)
+#define SC67_PULSE4_LOGIC (0x5000+0x1e)
+#define SC67_ROCK_LOGIC (0x5000+0x1f)
+#define GT_SC67_BRICKWORK (0x5000+0x20)
+#define SC67_BRICKWORK_ACTION (0x5000+0x21)
+#define SC67_CLOT_LOGIC (0x5000+0x22)
+#define GN_SC67_CLOT (0x5000+0x23)
+#define GT_SC67_CLOT (0x5000+0x24)
+#define SC67_CLOT_ACTION (0x5000+0x25)
+#define GT_SC67_VEIN (0x5000+0x26)
+#define SC67_VEIN_ACTION (0x5000+0x27)
+#define SC67_DOOR_MOUSE_ON (0x5000+0x28)
+#define SC67_DOOR_LOGIC (0x5000+0x29)
+#define SC67_DOOR_WALK_ON (0x5000+0x2a)
+#define GN_SC67_DOOR (0x5000+0x2b)
+#define GT_SC67_DOOR (0x5000+0x2c)
+#define SC67_DOOR_ACTION (0x5000+0x2d)
+#define SC67_PLASTER_LOGIC (0x5000+0x2e)
+#define GT_SC67_PLASTER (0x5000+0x2f)
+#define SC67_PLASTER_ACTION (0x5000+0x30)
+#define SC67_BRICK_LOGIC (0x5000+0x31)
+#define GT_SC67_BRICK (0x5000+0x32)
+#define SC67_BRICK_ACTION (0x5000+0x33)
+#define SC67_CROWBAR_LOGIC (0x5000+0x34)
+#define GT_SC67_CROWBAR (0x5000+0x35)
+#define SC67_CROWBAR_ACTION (0x5000+0x36)
+#define GT_SC68_JOEY_WAIT (0x5000+0x37)
+#define SC68_PULSE1_LOGIC (0x5000+0x38)
+#define SC68_PULSE2_LOGIC (0x5000+0x39)
+#define SC68_PULSE3_LOGIC (0x5000+0x3a)
+#define SC68_PULSE4_LOGIC (0x5000+0x3b)
+#define SC68_PULSE5_LOGIC (0x5000+0x3c)
+#define SC68_PULSE6_LOGIC (0x5000+0x3d)
+#define SC68_SENSOR_LOGIC (0x5000+0x3e)
+#define SC68_DOOR_WALK_ON (0x5000+0x3f)
+#define GN_SC68_DOOR (0x5000+0x40)
+#define GT_SC68_DOOR (0x5000+0x41)
+#define SC68_DOOR_ACTION (0x5000+0x42)
+#define SC68_DOOR_MOUSE_ON (0x5000+0x43)
+#define SC68_DOOR_LOGIC (0x5000+0x44)
+#define GT_SC68_SENSOR (0x5000+0x45)
+#define SC68_SENSOR_ACTION (0x5000+0x46)
+#define GT_SC68_STAIRS (0x5000+0x47)
+#define SC68_STAIRS_ACTION (0x5000+0x48)
+#define SC68_EXIT_WALK_ON (0x5000+0x49)
+#define GT2_SC68_EXIT (0x5000+0x4a)
+#define GT_SC68_EXIT (0x5000+0x4b)
+#define SC68_EXIT_ACTION (0x5000+0x4c)
+#define GT_SC68_GRILL (0x5000+0x4d)
+#define SC68_GRILL_ACTION (0x5000+0x4e)
+#define SC69_PULSE1_LOGIC (0x5000+0x4f)
+#define SC69_PULSE2_LOGIC (0x5000+0x50)
+#define SC69_PULSE3_LOGIC (0x5000+0x51)
+#define SC69_PULSE4_LOGIC (0x5000+0x52)
+#define SC69_PULSE5_LOGIC (0x5000+0x53)
+#define SC69_PULSE6_LOGIC (0x5000+0x54)
+#define SC69_EXIT_WALK_ON (0x5000+0x55)
+#define GT2_SC69_EXIT (0x5000+0x56)
+#define GT_SC69_EXIT (0x5000+0x57)
+#define SC69_EXIT_ACTION (0x5000+0x58)
+#define SC69_DOOR_WALK_ON (0x5000+0x59)
+#define GN_SC69_DOOR (0x5000+0x5a)
+#define GT_SC69_DOOR (0x5000+0x5b)
+#define SC69_DOOR_ACTION (0x5000+0x5c)
+#define GT_SC69_GRILL (0x5000+0x5d)
+#define SC69_GRILL_ACTION (0x5000+0x5e)
+#define GT_SC70_DOOR (0x5000+0x5f)
+#define SC70_DOOR_ACTION (0x5000+0x60)
+#define SC70_IRIS_LOGIC (0x5000+0x61)
+#define SC70_IRIS_OPENED (0x5000+0x62)
+#define SC70_IRIS_CLOSED (0x5000+0x63)
+#define GT_SC70_IRIS (0x5000+0x64)
+#define SC70_IRIS_ACTION (0x5000+0x65)
+#define SC70_BAR_LOGIC (0x5000+0x66)
+#define GT_SC70_BAR (0x5000+0x67)
+#define SC70_BAR_ACTION (0x5000+0x68)
+#define GT_SC70_GRILL (0x5000+0x69)
+#define SC70_GRILL_ACTION (0x5000+0x6a)
+#define SC70_CONTROL_LOGIC (0x5000+0x6b)
+#define GT_SC70_CONTROL (0x5000+0x6c)
+#define SC70_CONTROL_ACTION (0x5000+0x6d)
+#define SC70_PIT_LOGIC (0x5000+0x6e)
+#define GT_SC70_PIT (0x5000+0x6f)
+#define SC70_PIT_ACTION (0x5000+0x70)
+#define GT_SC70_FLOOR (0x5000+0x71)
+#define SC71_DOOR69_WALK_ON (0x5000+0x72)
+#define GN_SC71_DOOR69 (0x5000+0x73)
+#define GT_SC71_DOOR69 (0x5000+0x74)
+#define SC71_DOOR69_ACTION (0x5000+0x75)
+#define SC71_DOOR72_WALK_ON (0x5000+0x76)
+#define GN_SC71_DOOR72 (0x5000+0x77)
+#define GT_SC71_DOOR72 (0x5000+0x78)
+#define SC71_DOOR72_ACTION (0x5000+0x79)
+#define GN_INTO_RECHARGING_UNIT (0x5000+0x7a)
+#define GET_INTO_RECHARGING_UNIT (0x5000+0x7b)
+#define GT_SC71_RECHARGER (0x5000+0x7c)
+#define SC71_RECHARGER_ACTION (0x5000+0x7d)
+#define GT_SC71_MONITOR (0x5000+0x7e)
+#define SC71_MONITOR_ACTION (0x5000+0x7f)
+#define GT_SC71_CONTROLS (0x5000+0x80)
+#define SC71_CONTROLS_ACTION (0x5000+0x81)
+#define GT_SC71_LOCKED_DOOR (0x5000+0x82)
+#define SC71_LOCKED_DOOR_ACTION (0x5000+0x83)
+#define SC71_RECHARGER_LOGIC (0x5000+0x84)
+#define SC71_PANEL2_LOGIC (0x5000+0x85)
+#define SC71_LIGHT1_LOGIC (0x5000+0x86)
+#define SC71_CHLITE_LOGIC (0x5000+0x87)
+#define SC71_MONITOR_LOGIC (0x5000+0x88)
+#define SC71_CONTROLS_LOGIC (0x5000+0x89)
+#define WITNESS_LOGIC (0x5000+0x8a)
+#define SC72_FOSTER_DEATH (0x5000+0x8b)
+#define WITNESS_CATCHES_FOSTER (0x5000+0x8c)
+#define SC72_DOOR_WALK_ON (0x5000+0x8d)
+#define GN_SC72_DOOR (0x5000+0x8e)
+#define GT_SC72_DOOR (0x5000+0x8f)
+#define SC72_DOOR_ACTION (0x5000+0x90)
+#define SC72_EXIT_WALK_ON (0x5000+0x91)
+#define GN_SC72_EXIT (0x5000+0x92)
+#define GT_SC72_EXIT (0x5000+0x93)
+#define SC72_EXIT_ACTION (0x5000+0x94)
+#define SC72_TANK_LOGIC (0x5000+0x95)
+#define GT_SC72_TANK (0x5000+0x96)
+#define SC72_TANK_ACTION (0x5000+0x97)
+#define GT_SC72_TAP (0x5000+0x98)
+#define SC72_TAP_ACTION (0x5000+0x99)
+#define SC72_SPILL_LOGIC (0x5000+0x9a)
+#define GT_SC72_SPILL (0x5000+0x9b)
+#define SC72_SPILL_ACTION (0x5000+0x9c)
+#define SC72_GRILL_LOGIC (0x5000+0x9d)
+#define GT_SC72_GRILL (0x5000+0x9e)
+#define SC72_GRILL_ACTION (0x5000+0x9f)
+#define SC72_CHAMBER1_LOGIC (0x5000+0xa0)
+#define SC72_CHAM1_LIGHT_LOGIC (0x5000+0xa1)
+#define SC72_CHAMBER2_LOGIC (0x5000+0xa2)
+#define SC72_CHAM2_LIGHT_LOGIC (0x5000+0xa3)
+#define SC72_CHAMBER3_LOGIC (0x5000+0xa4)
+#define GT_SC72_CHAMBER1 (0x5000+0xa5)
+#define GT_SC72_CHAMBER2 (0x5000+0xa6)
+#define GT_SC72_CHAMBER3 (0x5000+0xa7)
+#define SC72_CHAMBERS_ACTION (0x5000+0xa8)
+#define GT_SC72_LIGHT1 (0x5000+0xa9)
+#define GT_SC72_LIGHT2 (0x5000+0xaa)
+#define GT_SC72_LIGHT3 (0x5000+0xab)
+#define SC72_ROT_LIGHT_LOGIC (0x5000+0xac)
+#define SC72_COMPUTER_LOGIC (0x5000+0xad)
+#define SC72_COMPUTER2_LOGIC (0x5000+0xae)
+#define GT_SC72_COMPUTER (0x5000+0xaf)
+#define SC72_COMPUTER_ACTION (0x5000+0xb0)
+#define GN_SC72_WITNESS_TALK (0x5000+0xb1)
+#define GT_SC72_WITNESS_TALK (0x5000+0xb2)
+#define GN_SC72_FOSTER_TALK (0x5000+0xb3)
+#define GT_SC72_FOSTER_TALK (0x5000+0xb4)
+#define GT_SC72_WITNESS_KILL (0x5000+0xb5)
+#define GT_SC73_CORPSE (0x5000+0xb6)
+#define SC73_CORPSE_ACTION (0x5000+0xb7)
+#define GALLAGHER_LOGIC73 (0x5000+0xb8)
+#define GT_SC73_GALL_1 (0x5000+0xb9)
+#define GT_SC73_GALL_2 (0x5000+0xba)
+#define GT_SC73_JOEY_WAIT (0x5000+0xbb)
+#define SC73_SENSOR_LOGIC (0x5000+0xbc)
+#define SC73_EXIT_WALK_ON (0x5000+0xbd)
+#define GT2_SC73_EXIT (0x5000+0xbe)
+#define GT_SC73_EXIT (0x5000+0xbf)
+#define SC73_EXIT_ACTION (0x5000+0xc0)
+#define SC73_DOOR_WALK_ON (0x5000+0xc1)
+#define GT_SC73_DOOR (0x5000+0xc2)
+#define SC73_DOOR_ACTION (0x5000+0xc3)
+#define SC73_CHAMBER3_LOGIC (0x5000+0xc4)
+#define SC73_CHAMBER4_LOGIC (0x5000+0xc5)
+#define SC73_CHAM4_LIGHT_LOGIC (0x5000+0xc6)
+#define GT_SC73_CHAMBER4 (0x5000+0xc7)
+#define SC73_CHAMBER4_ACTION (0x5000+0xc8)
+#define SC73_CHAMBER5_LOGIC (0x5000+0xc9)
+#define SC73_CHAM5_LIGHT_LOGIC (0x5000+0xca)
+#define GT_SC73_CHAMBER5 (0x5000+0xcb)
+#define SC73_CHAMBER5_ACTION (0x5000+0xcc)
+#define SC73_BIG_DOOR_MOUSE_ON (0x5000+0xcd)
+#define SC73_BIG_DOOR_WALK_ON (0x5000+0xce)
+#define GT_SC73_BIG_DOOR (0x5000+0xcf)
+#define SC73_BIG_DOOR_ACTION (0x5000+0xd0)
+#define GT_SC73_SENSOR (0x5000+0xd1)
+#define SC73_SENSOR_ACTION (0x5000+0xd2)
+#define GT_SC73_LOCKED_DOOR (0x5000+0xd3)
+#define SC73_LOCKED_DOOR_ACTION (0x5000+0xd4)
+#define SC73_BITS_LOGIC (0x5000+0xd5)
+#define SC73_BITS2_LOGIC (0x5000+0xd6)
+#define SC73_SPRAY_LOGIC (0x5000+0xd7)
+#define GT_SC73_WRECKED_DROID (0x5000+0xd8)
+#define SC73_WRECKED_DROID_ACTION (0x5000+0xd9)
+#define JOEY_MED_LOGIC73 (0x5000+0xda)
+#define SC74_DOOR_WALK_ON (0x5000+0xdb)
+#define GT_SC74_DOOR (0x5000+0xdc)
+#define SC74_DOOR_ACTION (0x5000+0xdd)
+#define SC74_MONITOR1_LOGIC (0x5000+0xde)
+#define SC74_MONITOR2_LOGIC (0x5000+0xdf)
+#define SC74_MONITOR3_LOGIC (0x5000+0xe0)
+#define SC74_MONITOR4_LOGIC (0x5000+0xe1)
+#define SC74_LEFT_TV_LOGIC (0x5000+0xe2)
+#define SC74_RIGHT_TV_LOGIC (0x5000+0xe3)
+#define SC74_LIGHTS_LOGIC (0x5000+0xe4)
+#define GT_SC74_MONITOR1 (0x5000+0xe5)
+#define GT_SC74_LEFT_TV (0x5000+0xe6)
+#define GT_SC74_RIGHT_TV (0x5000+0xe7)
+#define SC74_MONITORS_ACTION (0x5000+0xe8)
+#define GT_SC74_INTERFACE (0x5000+0xe9)
+#define SC74_INTERFACE_ACTION (0x5000+0xea)
+#define GT_SC74_FLOOR (0x5000+0xeb)
+#define GT_SC74_INT_SLOT (0x5000+0xec)
+#define SC74_INT_SLOT_ACTION (0x5000+0xed)
+#define SC74_INT_SLOT_LOGIC (0x5000+0xee)
+#define GT_SC74_TERMINAL (0x5000+0xef)
+#define SC74_TERMINAL_ACTION (0x5000+0xf0)
+#define SC74_POD_LOGIC (0x5000+0xf1)
+#define SC75_BIG_DOOR_WALK_ON (0x5000+0xf2)
+#define GT_SC75_BIG_DOOR (0x5000+0xf3)
+#define SC75_BIG_DOOR_ACTION (0x5000+0xf4)
+#define SC75_DOOR_WALK_ON (0x5000+0xf5)
+#define GT_SC75_DOOR (0x5000+0xf6)
+#define SC75_DOOR_ACTION (0x5000+0xf7)
+#define SC75_NITRO_TANK_LOGIC (0x5000+0xf8)
+#define GT_SC75_NITRO_TANK (0x5000+0xf9)
+#define SC75_NITRO_TANK_ACTION (0x5000+0xfa)
+#define SC75_LIVE_TANK_LOGIC (0x5000+0xfb)
+#define GT_SC75_LIVE_TANK (0x5000+0xfc)
+#define SC75_TISSUE_LOGIC (0x5000+0xfd)
+#define SC75_LIVE_TANK_ACTION (0x5000+0xfe)
+#define SC75_CONSOLE_LOGIC (0x5000+0xff)
+#define SC75_CRASH_LOGIC (0x5000+0x100)
+#define GT_SC75_CONSOLE (0x5000+0x101)
+#define SC75_CONSOLE_ACTION (0x5000+0x102)
+#define SC75_TONGS_LOGIC (0x5000+0x103)
+#define GT_SC75_TONGS (0x5000+0x104)
+#define SC75_TONGS_ACTION (0x5000+0x105)
+#define SC75_LIGHT1_LOGIC (0x5000+0x106)
+#define SC75_LIGHT2_LOGIC (0x5000+0x107)
+#define SC76_DOOR75_WALK_ON (0x5000+0x108)
+#define GT_SC76_DOOR75 (0x5000+0x109)
+#define SC76_DOOR75_ACTION (0x5000+0x10a)
+#define SC76_DOOR77_WALK_ON (0x5000+0x10b)
+#define GT_SC76_DOOR77 (0x5000+0x10c)
+#define SC76_DOOR77_ACTION (0x5000+0x10d)
+#define GT_SC76_ANYTHING (0x5000+0x10e)
+#define SC76_ANDROID_ACTION (0x5000+0x10f)
+#define SC76_CONSOLE_1_ACTION (0x5000+0x110)
+#define SC76_CONSOLE_2_ACTION (0x5000+0x111)
+#define SC76_CONSOLE_3_ACTION (0x5000+0x112)
+#define SC76_BOARD_1_ACTION (0x5000+0x113)
+#define SC76_BOARD_2_ACTION (0x5000+0x114)
+#define SC76_BOARD_3_ACTION (0x5000+0x115)
+#define SC76_BOARD_1_LOGIC (0x5000+0x116)
+#define SC76_BOARD_2_LOGIC (0x5000+0x117)
+#define SC76_BOARD_3_LOGIC (0x5000+0x118)
+#define SC76_CABINET_1_ACTION (0x5000+0x119)
+#define SC76_CABINET_2_ACTION (0x5000+0x11a)
+#define SC76_CABINET_3_ACTION (0x5000+0x11b)
+#define SC76_CABINET_1_LOGIC (0x5000+0x11c)
+#define SC76_CABINET_2_LOGIC (0x5000+0x11d)
+#define SC76_CABINET_3_LOGIC (0x5000+0x11e)
+#define SC76_LIGHT1_LOGIC (0x5000+0x11f)
+#define SC76_LIGHT2_LOGIC (0x5000+0x120)
+#define SC76_LIGHT3_LOGIC (0x5000+0x121)
+#define SC76_LIGHT4_LOGIC (0x5000+0x122)
+#define SC76_LIGHT5_LOGIC (0x5000+0x123)
+#define SC76_LIGHT6_LOGIC (0x5000+0x124)
+#define SC76_LIGHT7_LOGIC (0x5000+0x125)
+#define SC76_LIGHT8_LOGIC (0x5000+0x126)
+#define SC76_LIGHT9_LOGIC (0x5000+0x127)
+#define SC76_ANDROID_1_LOGIC (0x5000+0x128)
+#define SC76_ANDROID_2_LOGIC (0x5000+0x129)
+#define KEN_START_LOGIC (0x5000+0x12a)
+#define SC76_ANDROID_3_LOGIC (0x5000+0x12b)
+#define KEN_EXTRA (0x5000+0x12c)
+#define KEN_LOGIC (0x5000+0x12d)
+#define KEN_STUCK_LOGIC (0x5000+0x12e)
+#define STUCK_SSS (0x5000+0x12f)
+#define GT_SC77_STUCK_KEN (0x5000+0x130)
+#define STUCK_KEN_ACTION (0x5000+0x131)
+#define KEN_MISSION_HAND_EXTRA (0x5000+0x132)
+#define KEN_MISSION_HAND (0x5000+0x133)
+#define SC77_DOOR76_WALK_ON (0x5000+0x134)
+#define GT_SC77_DOOR76 (0x5000+0x135)
+#define SC77_DOOR76_ACTION (0x5000+0x136)
+#define SC77_BIG_DOOR_MOUSE_ON (0x5000+0x137)
+#define SC77_BIG_DOOR_LOGIC (0x5000+0x138)
+#define SC77_BIG_DOOR_WALK_ON (0x5000+0x139)
+#define GT_SC77_BIG_DOOR (0x5000+0x13a)
+#define SC77_BIG_DOOR_ACTION (0x5000+0x13b)
+#define GT_SC77_TANKS (0x5000+0x13c)
+#define SC77_TANKS_ACTION (0x5000+0x13d)
+#define GT_SC77_HAND_1 (0x5000+0x13e)
+#define SC77_HAND_1_ACTION (0x5000+0x13f)
+#define GN_SC77_HAND_2 (0x5000+0x140)
+#define GT_SC77_HAND_2 (0x5000+0x141)
+#define SC77_HAND_2_ACTION (0x5000+0x142)
+#define GT_SC78_LEDGE (0x5000+0x143)
+#define GT_SC78_PIPE (0x5000+0x144)
+#define SC78_BIG_DOOR_WALK_ON (0x5000+0x145)
+#define GT_SC78_BIG_DOOR (0x5000+0x146)
+#define SC78_BIG_DOOR_ACTION (0x5000+0x147)
+#define SC78_EXIT_WALK_ON (0x5000+0x148)
+#define GT_SC78_EXIT (0x5000+0x149)
+#define SC78_EXIT_ACTION (0x5000+0x14a)
+#define GT_SC78_SUPPORT (0x5000+0x14b)
+#define SC78_SUPPORT_ACTION (0x5000+0x14c)
+#define SC79_EXIT_WALK_ON (0x5000+0x14d)
+#define GT_SC79_EXIT (0x5000+0x14e)
+#define SC79_EXIT_ACTION (0x5000+0x14f)
+#define GT_SC79_SUPPORT (0x5000+0x150)
+#define SC79_SUPPORT_ACTION (0x5000+0x151)
+#define SC79_KNOT_LOGIC (0x5000+0x152)
+#define GT_SC79_KNOT (0x5000+0x153)
+#define SC79_KNOT_ACTION (0x5000+0x154)
+#define SC79_ROPE_LOGIC (0x5000+0x155)
+#define GT_SC79_ROPE (0x5000+0x156)
+#define SC79_ROPE_ACTION (0x5000+0x157)
+#define GT_SC79_LADDER (0x5000+0x158)
+#define SC79_LADDER_ACTION (0x5000+0x159)
+#define SC80_LADDER_ACTION (0x5000+0x15a)
+#define SC80_ROPE_ACTION (0x5000+0x15b)
+#define SC80_ROPE_LOGIC (0x5000+0x15c)
+#define SC80_SPOUT_ACTION (0x5000+0x15d)
+#define SC80_ORIFICE_ACTION (0x5000+0x15e)
+#define SC80_SAMPLE_LOGIC (0x5000+0x15f)
+#define SC80_EXIT_LOGIC (0x5000+0x160)
+#define SC80_EXIT_ACTION (0x5000+0x161)
+#define SC80_GOO_LOGIC (0x5000+0x162)
+#define SC80_BUBBLE1_LOGIC (0x5000+0x163)
+#define SC80_BUBBLE2_LOGIC (0x5000+0x164)
+#define SC80_BUBBLE3_LOGIC (0x5000+0x165)
+#define SC80_BUBBLE4_LOGIC (0x5000+0x166)
+#define SC80_BUBBLE5_LOGIC (0x5000+0x167)
+#define SC80_BUBBLE6_LOGIC (0x5000+0x168)
+#define SC80_BUBBLE7_LOGIC (0x5000+0x169)
+#define SC80_BUBBLE8_LOGIC (0x5000+0x16a)
+#define SC80_BUBBLE9_LOGIC (0x5000+0x16b)
+#define SC80_BUBBLE10_LOGIC (0x5000+0x16c)
+#define SC80_BUBBLE11_LOGIC (0x5000+0x16d)
+#define SC80_BUBBLE12_LOGIC (0x5000+0x16e)
+#define SC81_PULSE_LOGIC (0x5000+0x16f)
+#define SC81_FATHER_CHAIR_LOGIC (0x5000+0x170)
+#define SC81_FATHER_FLOOR_LOGIC (0x5000+0x171)
+#define SC81_FATHER_FINISHED (0x5000+0x172)
+#define SC81_FATHER_SSS (0x5000+0x173)
+#define SC81_FATHER_FALL (0x5000+0x174)
+#define FOSTER_ENTER_BOARDROOM (0x5000+0x175)
+#define SC81_FATHER_ACTION (0x5000+0x176)
+#define LAST_WORDS_WITH_FATHER (0x5000+0x177)
+#define SC81_KEN_SSS (0x5000+0x178)
+#define SC81_KEN_ACTION (0x5000+0x179)
+#define SC81_DOOR_LOGIC (0x5000+0x17a)
+#define SC81_KEN_LOGIC (0x5000+0x17b)
+#define SC81_FOSTER_ABSORBED (0x5000+0x17c)
+#define SC81_FOSTER_GRABBED (0x5000+0x17d)
+#define SC81_CHAIR_ACTION (0x5000+0x17e)
+#define SC81_TENT1_LOGIC (0x5000+0x17f)
+#define SC81_TENT2_LOGIC (0x5000+0x180)
+#define SC81_TENT3_LOGIC (0x5000+0x181)
+#define SC81_TENT4_LOGIC (0x5000+0x182)
+#define SC81_TENT5_LOGIC (0x5000+0x183)
+#define SC81_TENT6_LOGIC (0x5000+0x184)
+#define SC81_BIG_TENT1_LOGIC (0x5000+0x185)
+#define SC81_BIG_TENT2_LOGIC (0x5000+0x186)
+#define SC81_BIG_TENT3_LOGIC (0x5000+0x187)
+#define SC82_JOBS_SSS (0x0000+0x47)
+#define SC82_JOBSWORTH_LOGIC (0x0000+0x48)
+#define PRINT_CREDITS (0x0000+0x49)
+#define END_SEQUENCE (0x0000+0x4a)
+#define FOSTER_ENTER_NEW_BOARDROOM (0x0000+0x4b)
+#define SC82_KEN_LOGIC (0x0000+0x4c)
+#define S19_LEFT_ON (0x0000+0x4d)
+#define S19_RIGHT_ON (0x0000+0x4e)
+#define GT_RIGHT_EXIT_19 (0x0000+0x4f)
+#define ER19_ACTION (0x0000+0x50)
+#define CABLE2_LOGIC (0x0000+0x51)
+#define CABLE_FALL_LOGIC (0x0000+0x52)
+#define SMASHED_WINDOW_LOGIC (0x0000+0x53)
+#define BITS_LOGIC (0x0000+0x54)
+#define GT_CABLE_11 (0x0000+0x55)
+#define CABLE_11_ACTION (0x0000+0x56)
+#define SPY11_LOGIC (0x0000+0x57)
+#define LOCKER_11_LOGIC (0x0000+0x58)
+#define GT_LOCKER_11 (0x0000+0x59)
+#define LOCKER_11_ACTION (0x0000+0x5a)
+#define START90 (0x0000+0x5b)
+#define EXIT_LINC (0x0000+0x5c)
+#define LINC_MENU_SCRIPT (0x6000+0x1)
+#define LINC_MENU_SELECT (0x6000+0x2)
+#define INFO_MENU_SELECT (0x6000+0x3)
+#define DIS_MENU_SELECT (0x6000+0x4)
+#define JOIN_MENU_SELECT (0x6000+0x5)
+#define DECOMP_MENU_SELECT (0x6000+0x6)
+#define DECRYPT_MENU_SELECT (0x6000+0x7)
+#define DOC_MENU_SELECT (0x6000+0x8)
+#define SET_UP_INFO_WINDOW (0x6000+0x9)
+#define INFO_WINDOW_LOGIC (0x6000+0xa)
+#define INFO_BUTTON_LOGIC (0x6000+0xb)
+#define CLOSE_WINDOW (0x6000+0xc)
+#define NORMAL_MOUSE (0x6000+0xd)
+#define BUTTON_MOUSE (0x6000+0xe)
+#define DISCONNECT_FOSTER (0x6000+0xf)
+#define DOOR_L90_LOGIC (0x6000+0x10)
+#define DOOR_L90F_LOGIC (0x6000+0x11)
+#define GET_TO_DOOR_L90 (0x6000+0x12)
+#define DOOR_L90_ACTION (0x6000+0x13)
+#define DOOR_R90_LOGIC (0x6000+0x14)
+#define DOOR_R90F_LOGIC (0x6000+0x15)
+#define GET_TO_DOOR_R90 (0x6000+0x16)
+#define DOOR_R90_ACTION (0x6000+0x17)
+#define GET_TO_JOIN_OBJECT (0x6000+0x18)
+#define JOIN_OBJECT_ACTION (0x6000+0x19)
+#define JOIN_OBJECT_LOGIC (0x6000+0x1a)
+#define GET_TO_OSCILLATOR (0x6000+0x1b)
+#define OSCILLATOR_ACTION (0x6000+0x1c)
+#define OSCILLATOR_LOGIC (0x6000+0x1d)
+#define GET_TO_EYEBALL_90 (0x6000+0x1e)
+#define EYEBALL_90_ACTION (0x6000+0x1f)
+#define EYEBALL_90_LOGIC (0x6000+0x20)
+#define DOOR_L91_LOGIC (0x6000+0x21)
+#define DOOR_L91F_LOGIC (0x6000+0x22)
+#define GET_TO_DOOR_L91 (0x6000+0x23)
+#define DOOR_L91_ACTION (0x6000+0x24)
+#define DOOR_R91_LOGIC (0x6000+0x25)
+#define DOOR_R91F_LOGIC (0x6000+0x26)
+#define GET_TO_DOOR_R91 (0x6000+0x27)
+#define DOOR_R91_ACTION (0x6000+0x28)
+#define DOOR_T91_LOGIC (0x6000+0x29)
+#define DOOR_T91R_LOGIC (0x6000+0x2a)
+#define GET_TO_DOOR_T91 (0x6000+0x2b)
+#define DOOR_T91_ACTION (0x6000+0x2c)
+#define GET_TO_BAG_91 (0x6000+0x2d)
+#define BAG_91_ACTION (0x6000+0x2e)
+#define BAG_91_LOGIC (0x6000+0x2f)
+#define GET_TO_DECOMP_OBJ (0x6000+0x30)
+#define DECOMP_OBJ_ACTION (0x6000+0x31)
+#define DECOMP_OBJ_LOGIC (0x6000+0x32)
+#define GET_TO_DECRYPT_OBJ (0x6000+0x33)
+#define DECRYPT_OBJ_ACTION (0x6000+0x34)
+#define DECRYPT_OBJ_LOGIC (0x6000+0x35)
+#define GET_TO_REPORT_BOOK (0x6000+0x36)
+#define REPORT_BOOK_ACTION (0x6000+0x37)
+#define REPORT_BOOK_LOGIC (0x6000+0x38)
+#define GET_TO_EYEBALL_91 (0x6000+0x39)
+#define EYEBALL_91_ACTION (0x6000+0x3a)
+#define EYEBALL_91_LOGIC (0x6000+0x3b)
+#define DOOR_L92_LOGIC (0x6000+0x3c)
+#define DOOR_L92F_LOGIC (0x6000+0x3d)
+#define GET_TO_DOOR_L92 (0x6000+0x3e)
+#define DOOR_L92_ACTION (0x6000+0x3f)
+#define DOOR_R92_LOGIC (0x6000+0x40)
+#define DOOR_R92R_LOGIC (0x6000+0x41)
+#define GET_TO_DOOR_R92 (0x6000+0x42)
+#define DOOR_R92_ACTION (0x6000+0x43)
+#define SLAB1_LOGIC (0x6000+0x44)
+#define SLAB2_LOGIC (0x6000+0x45)
+#define SLAB3_LOGIC (0x6000+0x46)
+#define SLAB4_LOGIC (0x6000+0x47)
+#define SLAB5_LOGIC (0x6000+0x48)
+#define SLAB6_LOGIC (0x6000+0x49)
+#define SLAB7_LOGIC (0x6000+0x4a)
+#define SLAB8_LOGIC (0x6000+0x4b)
+#define SLAB9_LOGIC (0x6000+0x4c)
+#define GET_TO_SLAB (0x6000+0x4d)
+#define SLAB_ACTION (0x6000+0x4e)
+#define SLAB_6_9_ACTION (0x6000+0x4f)
+#define BRIDGE_A_LOGIC (0x6000+0x50)
+#define BRIDGE_B_LOGIC (0x6000+0x51)
+#define BRIDGE_C_LOGIC (0x6000+0x52)
+#define BRIDGE_D_LOGIC (0x6000+0x53)
+#define BRIDGE_E_LOGIC (0x6000+0x54)
+#define BRIDGE_F_LOGIC (0x6000+0x55)
+#define BRIDGE_G_LOGIC (0x6000+0x56)
+#define BRIDGE_H_LOGIC (0x6000+0x57)
+#define GET_TO_CIRCLE (0x6000+0x58)
+#define GREEN_CIRCLE_LOGIC (0x6000+0x59)
+#define GREEN_CIRCLE_ACTION (0x6000+0x5a)
+#define RED_CIRCLE_LOGIC (0x6000+0x5b)
+#define RED_CIRCLE_ACTION (0x6000+0x5c)
+#define SLAB_ON (0x6000+0x5d)
+#define SLAB_OFF (0x6000+0x5e)
+#define LEFT_MOUSE (0x6000+0x5f)
+#define RIGHT_MOUSE (0x6000+0x60)
+#define UP_MOUSE (0x6000+0x61)
+#define DOWN_MOUSE (0x6000+0x62)
+#define DOOR_L93_LOGIC (0x6000+0x63)
+#define DOOR_L93F_LOGIC (0x6000+0x64)
+#define GET_TO_DOOR_L93 (0x6000+0x65)
+#define DOOR_L93_ACTION (0x6000+0x66)
+#define GET_TO_PERSONA (0x6000+0x67)
+#define PERSONA_ACTION (0x6000+0x68)
+#define PERSONA_LOGIC (0x6000+0x69)
+#define GET_TO_ADJUST_BOOK (0x6000+0x6a)
+#define ADJUST_BOOK_ACTION (0x6000+0x6b)
+#define ADJUST_BOOK_LOGIC (0x6000+0x6c)
+#define DOOR_L94_LOGIC (0x6000+0x6d)
+#define DOOR_L94R_LOGIC (0x6000+0x6e)
+#define GET_TO_DOOR_L94 (0x6000+0x6f)
+#define DOOR_L94_ACTION (0x6000+0x70)
+#define DOOR_R94_LOGIC (0x6000+0x71)
+#define DOOR_R94R_LOGIC (0x6000+0x72)
+#define GET_TO_DOOR_R94 (0x6000+0x73)
+#define DOOR_R94_ACTION (0x6000+0x74)
+#define GET_TO_HOLOGRAM_PAD (0x6000+0x75)
+#define HOLOGRAM_PAD_ACTION (0x6000+0x76)
+#define HOLOGRAM_A_LOGIC (0x6000+0x77)
+#define HOLOGRAM_B_LOGIC (0x6000+0x78)
+#define DOOR_L95_LOGIC (0x6000+0x79)
+#define DOOR_L95F_LOGIC (0x6000+0x7a)
+#define GET_TO_DOOR_L95 (0x6000+0x7b)
+#define DOOR_L95_ACTION (0x6000+0x7c)
+#define DOOR_R95_LOGIC (0x6000+0x7d)
+#define DOOR_R95F_LOGIC (0x6000+0x7e)
+#define GET_TO_DOOR_R95 (0x6000+0x7f)
+#define DOOR_R95_ACTION (0x6000+0x80)
+#define DOOR_T95_LOGIC (0x6000+0x81)
+#define DOOR_T95R_LOGIC (0x6000+0x82)
+#define GET_TO_DOOR_T95 (0x6000+0x83)
+#define DOOR_T95_ACTION (0x6000+0x84)
+#define GET_TO_GUARDIAN (0x6000+0x85)
+#define GUARDIAN_ACTION (0x6000+0x86)
+#define GUARDIAN_LOGIC (0x6000+0x87)
+#define WEIGHT_LOGIC (0x6000+0x88)
+#define DOOR_L96_LOGIC (0x6000+0x89)
+#define DOOR_L96F_LOGIC (0x6000+0x8a)
+#define GET_TO_DOOR_L96 (0x6000+0x8b)
+#define DOOR_L96_ACTION (0x6000+0x8c)
+#define CRYSTAL_LOGIC (0x6000+0x8d)
+#define GET_TO_CRYSTAL (0x6000+0x8e)
+#define CRYSTAL_ACTION (0x6000+0x8f)
+#define VIRUS_LOGIC (0x6000+0x90)
+#define GET_TO_VIRUS (0x6000+0x91)
+#define VIRUS_ACTION (0x6000+0x92)
+#define ANITA_SPEECH (0x2000+0x105)
+#define LAMB_FACTORY (0x2000+0x106)
+#define LAMB_UNUSED (0x2000+0x107)
+#define LAMB_BELLEVUE (0x0000+0x5d)
+#define FORE_SPEECH (0x2000+0x108)
+#define GORDON_SPEECH (0x2000+0x109)
+#define GUARD_SPEECH (0x2000+0x10a)
+#define WANK (0x2000+0x10b)
+#define WRECK_SPEECH (0x2000+0x10c)
+#define LOB_DAD_SPEECH (0x2000+0x10d)
+#define LOB_SON_SPEECH (0x2000+0x10e)
+#define RADMAN_SPEECH (0x2000+0x10f)
+#define BURKE_SPEECH (0x3000+0x139)
+#define JASON_SPEECH (0x3000+0x13a)
+#define JOEY_RECYCLE (0x1000+0xab)
+#define JOEY_UNUSED (0x1000+0xac)
+#define JOEY_FACTORY (0x2000+0x110)
+#define JOEY_BELLEVUE (0x3000+0x13b)
+#define ANCHOR_SPEECH (0x3000+0x13c)
+#define TREVOR_SPEECH (0x3000+0x13d)
+#define HELGA_SPEECH (0x3000+0x13e)
+#define GALL_BELLEVUE (0x3000+0x13f)
+#define FULL_SCREEN_LOGIC (0x0000+0x5e)
+#define CANCEL_ACTION_101 (0x0000+0x5f)
+#define BUTTON_ACTION_101 (0x0000+0x60)
+#define FS_BUTTON_LOGIC (0x0000+0x61)
+#define FS_RETINA_SCAN_LOGIC (0x0000+0x62)
+#define START_0 (0x0000+0x63)
+#define START_S4 (0x0000+0x64)
+#define START_S2 (0x0000+0x65)
+#define START_S3 (0x0000+0x66)
+#define START_S6 (0x0000+0x67)
+#define START_29 (0x0000+0x68)
+#define START_TEN (0x0000+0x69)
+#define START_ONE (0x0000+0x6a)
+#define START_IN_FACTORY (0x0000+0x6b)
+#define START_14 (0x0000+0x6c)
+#define START_SC31 (0x0000+0x6d)
+#define START_SC37 (0x0000+0x6e)
+#define START_SC42 (0x0000+0x6f)
+#define START_SC48 (0x0000+0x70)
+#define START_SC66 (0x0000+0x71)
+#define START_SC73 (0x0000+0x72)
+#define START_SC81 (0x0000+0x73)
+#define START_SC82 (0x0000+0x74)
+#define START_SC90 (0x0000+0x75)
+#define MANTRACH_SPEECH (0x0000+0x76)
+#define ID_GRID81 21010
+#define ID_SC81_DOOR 21011
+#define ID_SC81_CHAIR 21012
+#define ID_SC81_HELMET 21013
+#define ID_SC81_FATHER 21014
+#define ID_SC81_FATHER_SAT 21015
+#define ID_SC81_FOSTER_SAT 21016
+#define ID_SC81_KEN_SAT 21017
+#define ID_SC81_TENT1 21025
+#define ID_SC81_TENT2 21026
+#define ID_SC81_TENT3 21027
+#define ID_SC81_TENT4 21028
+#define ID_SC81_TENT5 21029
+#define ID_SC81_TENT6 21030
+#define ID_SC81_BIG_TENT1 21037
+#define ID_SC81_BIG_TENT2 21038
+#define ID_SC81_BIG_TENT3 21039
+#define ID_SC39_WALTERS 16809
+#define ID_SC31_JOEY 16851
+#define ID_SC82_JOBSWORTH 21069
+#define DISQ_1 2048
+#define DISQ_2 4096
+#define DISQ_3 6144
+#define DISQ_5 10240
+#define DISQ_6 12288
+#define DISQ_7 14336
+#define DISQ_8 16384
+#define DISQ_9 18432
+#define DISQ_10 20480
+#define DISQ_11 22528
+#define DISQ_12 24576
+#define DISQ_13 26624
+#define DISQ_14 28672
+#define DISQ_15 30720
+#define T0 0
+#define T1 4096
+#define T2 8192
+#define T3 12288
+#define T4 16384
+#define T5 20480
+#define T6 24576
+#define T7 28672
+#define UP 0
+#define DOWN 1
+#define LEFT 2
+#define RIGHT 3
+#define TALK 4
+#define ID_FOSTER 3
+#define ID_JOEY 1
+#define JOBS 4122
+#define ID_JOBS 4122
+#define MINI_SS 4100
+#define FULL_SS 4101
+#define ID_S2_FLOOR 115
+#define ID_L_EXIT_S2 4315
+#define FOSTER_BIG 4098
+#define ID_R_EXIT_S2 4103
+#define ID_S4_FLOOR 4104
+#define ID_S4_L_EXIT 4105
+#define ID_TV_SCREENS 4108
+#define ID_KNOB 4109
+#define ID_CHUCK 4110
+#define ID_LAZER 4111
+#define ID_CUPBOARD 4112
+#define ID_SARNIE 4113
+#define ID_SPANNER 4114
+#define ID_BUTTONS 4115
+#define ID_TOP_LIFT 4116
+#define ID_MONITORS 4117
+#define ID_HOLE 4119
+#define ID_TOP_BARREL 4120
+#define ID_LOADER 4121
+#define ID_UPLOAD 4125
+#define ID_LIGHT1 4126
+#define ID_PANEL 4127
+#define ID_ALARM 4128
+#define ID_S3_FLOOR 4130
+#define ID_ROBOT_SHELL 4131
+#define ID_JOEY_PARK 2
+#define ID_DEAD_LOADER 4133
+#define IDO_CROW_BAR 63
+#define IDO_SARNIE 64
+#define IDO_SPANNER 65
+#define IDO_JOEY_BOARD 66
+#define IDO_CITYCARD 8
+#define IDO_SHADES 9
+#define IDO_PUTTY 10
+#define IDO_LIGHTBULB 11
+#define IDO_ANITA_CARD 71
+#define IDO_ANCHOR 74
+#define IDO_MAGAZINE 75
+#define IDO_TAPE 76
+#define IDO_GLASS 77
+#define IDO_TICKET 79
+#define IDO_SECATEURS 36
+#define IDO_ROPE 37
+#define IDO_PLASTER 38
+#define IDO_NEW_CABLE 39
+#define IDO_BRICK 42
+#define IDO_TONGS 43
+#define IDO_GALLCARD 6
+#define ID_LOW_LIFT 4137
+#define ID_STEVE_SPY 4138
+#define ID_LOW_BARREL 4139
+#define ID_CONVEY 4140
+#define ID_JOEY_FLY 4141
+#define ID_FURNACE 4142
+#define ID_LIGHTS1 4143
+#define ID_EYE_BALL 4144
+#define ID_EYE_BOLT 4145
+#define ID_FURNACE_DOOR 4146
+#define ID_SLOT 4147
+#define ID_SHADES 4148
+#define ID_LAZER_GUN 4149
+#define ID_SMOULDER 4150
+#define ID_NOTICE 4151
+#define ID_NOTICE2 4152
+#define ID_SS_SIGN 4153
+#define ID_POSTCARD 4154
+#define ID_NOTICE4 4155
+#define ID_SHRUG_SEQ 40
+#define ID_SMALL_SHRUG 13
+#define ID_SML_UP_GET_SEQ 14
+#define ID_TEXT_MOUSE 5
+#define ID_S_AND_R 19
+#define ID_MENU_LOGIC 4
+#define ID_STD_MENU_LOGIC 4
+#define ID_ANIM 4186
+#define ID_RESET 4282
+#define ID_RESET_MEGA 7
+#define ID_FAN1 4102
+#define ID_FAN2 4303
+#define ID_FAN3 4305
+#define ID_FAN4 4307
+#define ID_FAN5 4309
+#define ID_FAN6 4311
+#define ID_FAN7 4313
+#define ID_S6_FLOOR 8200
+#define ID_S6_STAIRS 8210
+#define ID_S6_JOEY_FLY 8215
+#define ID_LEFT_EXIT_S6 8221
+#define ID_S5_FLOOR 8223
+#define ID_RIGHT_EXIT_S5 8224
+#define ID_RIGHT_EXIT_S6 8226
+#define ID_S7_FLOOR 8231
+#define ID_LEFT_EXIT_S7 8234
+#define ID_LEFT_EXIT_S5 8238
+#define ID_S18_FLOOR 8243
+#define ID_RIGHT_EXIT_S18 8246
+#define ID_SECURITY_EXIT 8248
+#define ID_S9_FLOOR 8253
+#define ID_LEFT_EXIT_S9 8256
+#define ID_STEAM 8259
+#define ID_POWER_DOOR 8264
+#define ID_POWER_MOTOR 8266
+#define ID_POWER_PANEL 8270
+#define PANEL_FRAME 4160
+#define SWITCH_FRAME 4032
+#define ID_POWER_SWITCH 8271
+#define ID_POWER_CHAIR 8272
+#define ID_LEFT_SKULL 8273
+#define ID_RIGHT_SKULL 8274
+#define ID_POWER_BANG 8275
+#define ID_MONITOR 136
+#define ID_LEFT_LEVER 8290
+#define ID_RIGHT_LEVER 8291
+#define LEFT_LEVER_FRAME 5760
+#define RIGHT_LEVER_FRAME 5824
+#define ID_FANS 8292
+#define ID_LOBBY_DOOR 8295
+#define ID_SCANNER 8298
+#define ID_LOBBY_SLOT 8299
+#define NO_TEXT_MESSAGE 28707
+#define ID_DAD 8301
+#define ID_SON 8211
+#define ID_LOW_GET_SEQ 12
+#define ID_PRESS 4321
+#define ID_LOW_FLOOR 67
+#define ID_SMALL_DOOR 105
+#define ID_LFAN1 4326
+#define ID_LFAN2 4328
+#define ID_SMOKE1 4330
+#define ID_SMOKE2 4332
+#define ID_SKORL_GUARD 8309
+#define S5_SECURITY_EXIT 8310
+#define ID_S8_FLOOR 8316
+#define ID_S7_RIGHT_EXIT 8317
+#define ID_DOWN_EXIT_S8 8320
+#define ID_WRECK_GUARD 8324
+#define ID_FACTORY_ENTRY 8331
+#define ID_S12_FLOOR 8336
+#define ID_FACTORY_EXIT 8341
+#define ID_FACT1_EXIT 8344
+#define ID_S13_FLOOR 8349
+#define ID_FACT2_L_EXIT 8353
+#define ID_FACT2_R_EXIT 8355
+#define ID_S14_FLOOR 8360
+#define ID_FACT3_L_EXIT 8364
+#define ID_F2_STORE_EXIT 8366
+#define ID_S15_FLOOR 8371
+#define ID_NU_FLOOR 8441
+#define ID_STORE_EXIT 8375
+#define ID_ANITA 137
+#define ID_TOP_BELT 8379
+#define ID_BOT_BELT 8381
+#define ID_PIPES 8383
+#define ID_ANITA_SPY 8385
+#define ID_WELDER 8388
+#define ID_LAMB 16
+#define ID_COGS 8393
+#define ID_GEARS 8395
+#define ID_BELT1 8397
+#define ID_BELT2 8399
+#define ID_PIPE1 8401
+#define ID_PIPE2 8403
+#define ID_PIPE3 8405
+#define ID_PIPE4 8407
+#define ID_STD_LEFT_TALK 23
+#define ID_STD_RIGHT_TALK 24
+#define ID_SENSOR 8410
+#define ID_LITE1 8412
+#define ID_LITE2 8414
+#define ID_FOREMAN 8544
+#define ID_FACT2_SPY 8418
+#define ID_S7_CARD_SLOT 8420
+#define ID_LIFT_NOTICE 8421
+#define ID_LIFT_S7 8422
+#define ID_LINC_S7 8425
+#define ID_JUNCTION_BOX 8426
+#define ID_FAKE_FLOOR 8427
+#define ID_FACT_CONSOLE 8435
+#define ID_FLAP 8438
+#define ID_SKEY 8442
+#define ID_WD40 8443
+#define IDO_WD40 34
+#define IDO_SKEY 35
+#define ID_FLOOR_PUTTY 8446
+#define ID_NEW_GRID 15
+#define ST_BACKGROUND 1
+#define ST_FOREGROUND 2
+#define ST_SORT 4
+#define ST_RECREATE 8
+#define ST_MOUSE 16
+#define ST_COLLISION 32
+#define ST_LOGIC 64
+#define ST_GRID_PLOT 128
+#define ST_AR_PRIORITY 256
+#define S62 3968
+#define S91 5824
+#define S94 6016
+#define S95 6080
+#define S96 6144
+#define S106 6784
+#define S108 6912
+#define S137 8768
+#define S152 9728
+#define S182 11648
+#define S191 12224
+#define HEAD_TEXT 24681
+#define PAL_90 24717
+#define PAL_90A 24718
+#define PAL_90B 24719
+#define PAL_91 24720
+#define PAL_92 24721
+#define PAL_93 24722
+#define PAL_94 24723
+#define PAL_95 24724
+#define PAL_96 24725
+#define RST_L_ARR_LINC 142
+#define RST_R_ARR_LINC 143
+#define RST_BLANKS_LINC 144
+#define RST_FOST_S90 24656
+#define RST_FOST_90_91 24657
+#define RST_FOST_90_94 24658
+#define RST_FOST_91_90 24659
+#define RST_FOST_91_92 24660
+#define RST_FOST_91_95 24661
+#define RST_FOST_92_91 24662
+#define RST_FOST_92_93 24663
+#define RST_FOST_93_92 24664
+#define RST_FOST_94_90 24665
+#define RST_FOST_94_95 24666
+#define RST_FOST_95_91 24667
+#define RST_FOST_95_94 24668
+#define RST_FOST_95_96 24669
+#define RST_FOST_96_95 24670
+#define AMT_ENTER_TOP 24814
+#define AMT_EXIT_TOP 24815
+#define AMT_LOGON 24824
+#define AMT_LOGOFF 24825
+#define AMT_CROUCH_LEFT 24759
+#define AMT_CROUCH_RIGHT 24760
+#define AMT_CROUCH_RIGHT_A 24805
+#define AMT_CROUCH_RIGHT_B 24806
+#define AMT_CROUCH_DOWN 24704
+#define AMT_SHRUG 24618
+#define AMT_LIGHT1 24671
+#define AMT_LIGHT2 24672
+#define AMT_LIGHT3A 24673
+#define AMT_LIGHT3B 24674
+#define AMT_LIGHT3C 24675
+#define AMT_LIGHT4 24676
+#define AMT_LIGHT5 24677
+#define AMT_LIGHT6 24678
+#define AMT_LIGHT7 24679
+#define AMT_LIGHT8 24680
+#define AMT_LIGHT9A 24681
+#define AMT_LIGHT9B 24682
+#define AMT_LIGHT9C 24683
+#define AMT_LIGHT10A 24684
+#define AMT_LIGHT10B 24685
+#define AMT_LIGHT10C 24686
+#define AMT_LIGHT10D 24687
+#define AMT_DOOR_L90 24688
+#define AMT_DOOR_L90F 24689
+#define AMT_DOOR_R90 24690
+#define AMT_DOOR_R90F 24691
+#define AMT_GET_JOIN 24692
+#define AMT_GET_OSCILL 24693
+#define AMT_BLIND_EYE 24694
+#define AMT_SEE_EYE 24695
+#define AMT_GET_EYE 24758
+#define AMT_EYE90_ZAP 24802
+#define AMT_FOST_DIE90 24793
+#define AMT_DOOR_L91 24696
+#define AMT_DOOR_L91F 24697
+#define AMT_DOOR_R91 24796
+#define AMT_DOOR_R91F 24797
+#define AMT_DOOR_T91 24698
+#define AMT_DOOR_T91R 24699
+#define AMT_GET_DECOMP 24702
+#define AMT_GET_DECRYPT 24703
+#define AMT_GET_REPORT 24733
+#define AMT_EYE91_ZAP 24800
+#define AMT_FOST_DIE91 24728
+#define AMT_DOOR_L92 24822
+#define AMT_DOOR_L92F 24823
+#define AMT_DOOR_R92 24808
+#define AMT_DOOR_R92R 24809
+#define AMT_DOOR_L93 24812
+#define AMT_DOOR_L93F 24813
+#define AMT_GET_PERSONA 24705
+#define AMT_GET_ADJUST 24706
+#define AMT_DOOR_L94 24707
+#define AMT_DOOR_L94R 24708
+#define AMT_DOOR_R94 24709
+#define AMT_DOOR_R94R 24710
+#define AMT_HOLO1_A 24726
+#define AMT_HOLO1_B 24727
+#define AMT_HOLO3 24768
+#define AMT_DOOR_L95 24711
+#define AMT_DOOR_L95F 24712
+#define AMT_DOOR_R95 24771
+#define AMT_DOOR_R95F 24772
+#define AMT_DOOR_T95 24713
+#define AMT_DOOR_T95R 24714
+#define AMT_GUARDIAN_UP 24791
+#define AMT_GUARDIAN_DOWN 24801
+#define AMT_WEIGHT_ANIM 24826
+#define AMT_DOOR_L96 24780
+#define AMT_DOOR_L96F 24781
+#define AMT_CRYSTAL_SPIN 24788
+#define AMT_CRYSTAL_BREAK 24789
+#define AMT_VIRUS_SPIN 24790
+#define AMT_GET_VIRUS 24794
+#define ID_LINC_MENU_LOGIC 24831
+#define ID_LINC_MENU_MOUSE 24832
+#define IT_BLUE_FOSTER 182
+#define IT_LOGOFF 117
+#define IT_LINK_ARROWS 190
+#define IT_LINK_OBJECTS 191
+#define IT_WINDOW 26
+#define IT_INFO_BUTTON 137
+#define IT_WINDOW_LOGIC 24765
+#define IT_WINDOW_MOUSE 24766
+#define IT_GET_EYE 18
+#define IT_CROUCH_LEFT 16
+#define IT_CROUCH_RIGHT 17
+#define IT_CROUCH_DOWN 20
+#define IT_ENTER_TOP 135
+#define IT_EXIT_TOP 136
+#define IT_LIGHT1 64
+#define IT_LIGHT2 65
+#define IT_LIGHT3A 66
+#define IT_LIGHT3B 67
+#define IT_LIGHT3C 68
+#define IT_LIGHT4 69
+#define IT_LIGHT5 70
+#define IT_LIGHT6 71
+#define IT_LIGHT7 72
+#define IT_LIGHT8 73
+#define IT_LIGHT9A 74
+#define IT_LIGHT9B 75
+#define IT_LIGHT9C 76
+#define IT_LIGHT10A 85
+#define IT_LIGHT10B 86
+#define IT_LIGHT10C 87
+#define IT_LIGHT10D 88
+#define IT_SC90_LAYER_0 175
+#define IT_SC90_LAYER_1 176
+#define IT_SC90_GRID_1 177
+#define IT_SC90_FAST 102
+#define IT_SC90_CHIP 24735
+#define IT_SC90_LOGIC 24736
+#define IT_SC90_MOUSE 24737
+#define IT_DOOR_L90 45
+#define IT_DOOR_L90F 46
+#define IT_DOOR_R90 258
+#define IT_DOOR_R90F 259
+#define IT_JOIN_OBJECT 22
+#define IT_OSCILLATOR 132
+#define IT_EYEBALL 91
+#define IT_BLIND_EYE 89
+#define IT_SEE_EYE 90
+#define IT_EYE90_ZAP 113
+#define IT_FOST_DIE90 115
+#define IT_SC91_LAYER_0 183
+#define IT_SC91_LAYER_1 184
+#define IT_SC91_GRID_1 185
+#define IT_SC91_FAST 24738
+#define IT_SC91_CHIP 24739
+#define IT_SC91_LOGIC 24740
+#define IT_SC91_MOUSE 24741
+#define IT_DOOR_L91 260
+#define IT_DOOR_L91F 261
+#define IT_DOOR_R91 111
+#define IT_DOOR_R91F 112
+#define IT_DOOR_T91 31
+#define IT_DOOR_T91R 32
+#define IT_BAG_91 47
+#define IT_DECOMP_OBJ 48
+#define IT_DECRYPT_OBJ 131
+#define IT_REPORT_BOOK 95
+#define IT_EYE91_ZAP 114
+#define IT_FOST_DIE91 116
+#define IT_SC92_LAYER_0 192
+#define IT_SC92_LAYER_1 193
+#define IT_SC92_GRID_1 194
+#define IT_SC92_FAST 24742
+#define IT_SC92_CHIP 24743
+#define IT_SC92_LOGIC 24744
+#define IT_SC92_MOUSE 24745
+#define IT_BRIDGES 44
+#define IT_CIRCLES 62
+#define IT_DOOR_L92 54
+#define IT_DOOR_L92F 55
+#define IT_DOOR_R92 129
+#define IT_DOOR_R92R 130
+#define IT_SC93_LAYER_0 199
+#define IT_SC93_LAYER_1 250
+#define IT_SC93_GRID_1 251
+#define IT_SC93_FAST 24746
+#define IT_SC93_CHIP 24747
+#define IT_SC93_LOGIC 24748
+#define IT_SC93_MOUSE 24749
+#define IT_DOOR_L93 133
+#define IT_DOOR_L93F 134
+#define IT_PERSONA 51
+#define IT_ADJUST_BOOK 63
+#define IT_SC94_LAYER_0 13
+#define IT_SC94_FAST 24750
+#define IT_SC94_CHIP 24751
+#define IT_SC94_LOGIC 24752
+#define IT_SC94_MOUSE 24753
+#define IT_DOOR_L94 58
+#define IT_DOOR_L94R 59
+#define IT_DOOR_R94 60
+#define IT_DOOR_R94R 61
+#define IT_HOLO1_A 92
+#define IT_HOLO1_B 93
+#define IT_HOLO2_A 94
+#define IT_HOLO2_B 96
+#define IT_HOLO3 97
+#define IT_SC95_LAYER_0 23
+#define IT_SC95_LAYER_1 24
+#define IT_SC95_GRID_1 25
+#define IT_SC95_FAST 24754
+#define IT_SC95_CHIP 24755
+#define IT_SC95_LOGIC 24756
+#define IT_SC95_MOUSE 24757
+#define IT_DOOR_L95 56
+#define IT_DOOR_L95F 57
+#define IT_DOOR_R95 100
+#define IT_DOOR_R95F 101
+#define IT_DOOR_T95 52
+#define IT_DOOR_T95R 53
+#define IT_GUARDIAN 102
+#define IT_WEIGHT 103
+#define IT_SC96_LAYER_0 27
+#define IT_SC96_LAYER_1 28
+#define IT_SC96_GRID_1 29
+#define IT_SC96_FAST 24773
+#define IT_SC96_CHIP 24774
+#define IT_SC96_LOGIC 24775
+#define IT_SC96_MOUSE 24776
+#define IT_DOOR_L96 98
+#define IT_DOOR_L96F 99
+#define IT_CRYSTAL_SPIN 106
+#define IT_CRYSTAL_BREAK 107
+#define IT_VIRUS_SPIN 108
+#define IT_GET_VIRUS 110
+#define ID_BLUE_FOSTER 3
+#define ID_WINDOW_1 24761
+#define ID_WINDOW_2 24762
+#define ID_WINDOW_3 24763
+#define ID_WINDOW_4 24764
+#define ID_INFO_BUTTON 24810
+#define ID_HEAD_MODULE 24816
+#define ID_FILE_MODULE 24817
+#define ID_SIZE_MODULE 24818
+#define ID_AUTH_MODULE 24819
+#define ID_NOTE_MODULE 24820
+#define ID_SKY 24640
+#define ID_LIGHTNING 24645
+#define ID_LIGHTNING1 24646
+#define ID_LIGHTNING2 24647
+#define ID_LIGHTNING3 24648
+#define ID_GRID90 24701
+#define ID_GRID91 24715
+#define ID_GRID92 24716
+#define ID_GRID93 24782
+#define ID_GRID94 24783
+#define ID_GRID95 24784
+#define ID_GRID96 24785
+#define ID_INFO_MENU 24581
+#define ID_READ_MENU 24582
+#define ID_OPEN_MENU 24583
+#define ID_ORDERS_MENU 24630
+#define ID_ORDERS2_MENU 24828
+#define ID_CHARON_MENU 24628
+#define ID_JOIN_MENU 24584
+#define ID_GREEN_MENU 24626
+#define ID_RED_MENU 24627
+#define ID_REPORT_MENU 24732
+#define ID_REPORT2_MENU 24829
+#define ID_DECOMP_MENU 24629
+#define ID_DECRYPT_MENU 24631
+#define ID_PERSONA_MENU 24632
+#define ID_ADJUST_MENU 24643
+#define ID_ADJUST2_MENU 24830
+#define ID_PLAYBAK_MENU 24650
+#define ID_BLIND_MENU 24625
+#define ID_OSCILL_MENU 24649
+#define ID_KILL_MENU 24827
+#define ID_VIRUS_MENU 24651
+#define ID_SC90_FLOOR 24577
+#define ID_SC90_SMFLOOR 24591
+#define ID_DOOR_L90 24635
+#define ID_DOOR_L90F 24636
+#define ID_DOOR_R90 24579
+#define ID_DOOR_R90F 24600
+#define ID_JOIN_OBJECT 24604
+#define ID_OSCILLATOR 24641
+#define ID_EYEBALL_90 24644
+#define ID_EYE_90_TABLE 24652
+#define ID_SC91_FLOOR 24578
+#define ID_DOOR_L91 24580
+#define ID_DOOR_L91F 24601
+#define ID_DOOR_R91 24585
+#define ID_DOOR_R91F 24795
+#define ID_DOOR_T91 24606
+#define ID_DOOR_T91R 24607
+#define ID_BAG_91 24637
+#define ID_DECOMP_OBJ 24638
+#define ID_DECRYPT_OBJ 24639
+#define ID_REPORT_BOOK 24731
+#define ID_EYEBALL_91 24798
+#define ID_EYE_91_TABLE 24799
+#define ID_SLAB1 24586
+#define ID_SLAB2 24592
+#define ID_SLAB3 24593
+#define ID_SLAB4 24594
+#define ID_SLAB5 24595
+#define ID_SLAB6 24596
+#define ID_SLAB7 24597
+#define ID_SLAB8 24598
+#define ID_SLAB9 24599
+#define ID_BRIDGE_A 24610
+#define ID_BRIDGE_B 24611
+#define ID_BRIDGE_C 24612
+#define ID_BRIDGE_D 24613
+#define ID_BRIDGE_E 24614
+#define ID_BRIDGE_F 24615
+#define ID_BRIDGE_G 24616
+#define ID_BRIDGE_H 24617
+#define ID_DOOR_L92 24587
+#define ID_DOOR_L92F 24821
+#define ID_DOOR_R92 24588
+#define ID_DOOR_R92R 24807
+#define ID_GREEN_CIRCLE 24633
+#define ID_RED_CIRCLE 24634
+#define ID_SC93_FLOOR 24589
+#define ID_DOOR_L93 24590
+#define ID_DOOR_L93F 24792
+#define ID_PERSONA 24602
+#define ID_ADJUST_BOOK 24642
+#define ID_SC94_FLOOR 24603
+#define ID_DOOR_L94 24623
+#define ID_DOOR_L94R 24624
+#define ID_DOOR_R94 24621
+#define ID_DOOR_R94R 24622
+#define ID_HOLOGRAM_A 24729
+#define ID_HOLOGRAM_B 24767
+#define ID_HOLOGRAM_PAD 24730
+#define ID_SC95_FLOOR 24605
+#define ID_DOOR_L95 24608
+#define ID_DOOR_L95F 24609
+#define ID_DOOR_R95 24769
+#define ID_DOOR_R95F 24770
+#define ID_DOOR_T95 24619
+#define ID_DOOR_T95R 24620
+#define ID_GUARDIAN 24804
+#define ID_WEIGHT 24811
+#define ID_SC96_FLOOR 24777
+#define ID_DOOR_L96 24778
+#define ID_DOOR_L96F 24779
+#define ID_CRYSTAL 24786
+#define ID_VIRUS 24787
+#define BEFORE_SHRUG 5
+#define OFF_LEFT 104
+#define OFF_RIGHT 472
+#define DOOR_SHUT 1
+#define DOOR_OPEN 2
+#define DOOR_MOVING 3
+#define AR_OK 0
+#define AR_FAIL 1
+#define AR_ZERO 2
+#define L_BUTTON 2
+#define R_BUTTON 1
+#define F_UP 9
+#define W_UP 86
+#define M_UP 104
+#define G_UP 114
+#define K_UP 134
+#define ID_PIPE_TALK 144
+#define ID_MEDI 20511
+#define ID_WITNESS 20754
+#define ID_GALLAGHER 20812
+#define ID_KEN 20911
+#define ID_WALTER_TALK_UP 20983
+#define ID_WALTER_TALK_DWN 20984
+#define ID_WALTER_TALK_LFT 20985
+#define ID_WALTER_CONV 20986
+#define ID_MEDI_TALK_UP 20987
+#define ID_MEDI_TALK_DOWN 20988
+#define ID_MEDI_TALK_LEFT 20989
+#define ID_MEDI_TALK_RIGHT 20990
+#define ID_FOST_CONV_LEFT 20991
+#define ID_GALL_TALK_UP 20992
+#define ID_GALL_TALK_LEFT 20993
+#define ID_SC75_FREEZE_TLK 20994
+#define ID_SC75_DEAD_TLK 20995
+#define ID_KEN_TALK_UP 20996
+#define ID_KEN_TALK_DOWN 20997
+#define ID_KEN_TALK_LEFT 20998
+#define ID_KEN_TALK_RIGHT 20999
+#define ID_ANDROID_BABBLE 21000
+#define ID_STUCK_TALK 21001
+#define ID_FOST_PIPE_TALK 21002
+#define ID_SC66_FAST_LIST 20481
+#define ID_SC66_CHIP_LIST 20482
+#define ID_SC66_LOGIC_LIST 20483
+#define ID_SC66_MOUSE_LIST 20484
+#define ID_SC66_PALETTE 20485
+#define ID_RESET_66 20486
+#define ID_SC66_DOOR 20977
+#define ID_SC66_DOOR_CLOSE 20978
+#define ID_SC66_HOLE 20487
+#define ID_SC66_FOS_WALK_IN 20982
+#define ID_SC66_FOS_CRUSHED 20981
+#define ID_SC66_LO_BEAM 20969
+#define ID_SC66_LO_BEAM_ANM 20970
+#define ID_SC66_HI_BEAM 20966
+#define ID_SC66_HI_BEAM_AN1 20967
+#define ID_SC66_HI_BEAM_AN2 20968
+#define ID_SC66_ROCK1 20971
+#define ID_SC66_ROCK1_ANIM 20972
+#define ID_SC66_ROCK2 20973
+#define ID_SC66_ROCK2_ANIM 20974
+#define ID_SC66_ROCK3 20975
+#define ID_SC66_ROCK3_ANIM 20976
+#define ID_SC66_STONES 20979
+#define ID_SC66_STONES_ANIM 20980
+#define ID_SC67_FAST_LIST 20488
+#define ID_SC67_CHIP_LIST 20489
+#define ID_SC67_LOGIC_LIST 20490
+#define ID_SC67_MOUSE_LIST 20491
+#define ID_SC67_PALETTE 20492
+#define ID_GRID67 20502
+#define ID_RESET_66_67 20523
+#define ID_RESET_68_67 20529
+#define ID_SC67_FLOOR 20501
+#define ID_SC67_DOOR 20506
+#define ID_SC67_DOOR_OPEN 20508
+#define ID_SC67_DOOR_CLOSE 20509
+#define ID_SC67_BRICKWORK 20503
+#define ID_SC67_VEIN 20510
+#define ID_SC67_CLOT 20507
+#define ID_SC67_CRAWL 20521
+#define ID_SC67_DUSTOFF 20522
+#define ID_SC67_GETBRICK 20524
+#define ID_SC67_PLASTER 20526
+#define ID_SC67_PLAST_FALL 20525
+#define ID_SC67_PICK_PLAST 20651
+#define ID_SC67_BRICK 20527
+#define ID_SC67_BRICK_FALL 20528
+#define ID_SC67_PICK_BRICK 20650
+#define ID_SC67_STICK_IN 20652
+#define ID_SC67_PULL_OUT 20653
+#define ID_SC67_BRICK_HIT 20654
+#define ID_SC67_PLAST_HIT 20655
+#define ID_SC67_LPOCKET 20661
+#define ID_SC67_RPOCKET 20662
+#define ID_SC67_RUB_HEAD 20663
+#define ID_SC67_TRY_STICK 20677
+#define ID_SC67_CROWBAR 20678
+#define ID_SC67_BAR_FALL 20679
+#define ID_SC67_PUSS_LEAK 20680
+#define ID_SC67_MEDIFIX 20681
+#define ID_SC67_MEND 20682
+#define ID_SC67_MENDING 20683
+#define ID_SC67_ROCK 20504
+#define ID_SC67_ROCK_ANIM 20505
+#define ID_SC67_PULSE1 20493
+#define ID_SC67_PULSE1_ANIM 20497
+#define ID_SC67_PULSE2 20494
+#define ID_SC67_PULSE2_ANIM 20498
+#define ID_SC67_PULSE3 20495
+#define ID_SC67_PULSE3_ANIM 20499
+#define ID_SC67_PULSE4 20496
+#define ID_SC67_PULSE4_ANIM 20500
+#define ID_SC68_FAST_LIST 20512
+#define ID_SC68_CHIP_LIST 20513
+#define ID_SC68_LOGIC_LIST 20514
+#define ID_SC68_MOUSE_LIST 20515
+#define ID_SC68_PALETTE 20516
+#define ID_GRID68 20520
+#define ID_SC68_JOEY_LIST 20784
+#define ID_RESET_67_68 20517
+#define ID_RESET_69_68 20561
+#define ID_RESET_70_68 20599
+#define ID_SC68_FLOOR 20519
+#define ID_SC68_DOOR 20518
+#define ID_SC68_DOOR_CLOSE 20533
+#define ID_SC68_STAIRS 20532
+#define ID_SC68_DESCEND 20684
+#define ID_SC68_ASCEND 20685
+#define ID_SC68_EXIT 20558
+#define ID_SC68_SENSOR 20531
+#define ID_SC68_SENSOR_ANIM 20656
+#define ID_SC68_GRILL 20530
+#define ID_SC68_PULSE1 20534
+#define ID_SC68_PULSE1_ANIM 20540
+#define ID_SC68_PULSE2 20535
+#define ID_SC68_PULSE2_ANIM 20541
+#define ID_SC68_PULSE3 20536
+#define ID_SC68_PULSE3_ANIM 20542
+#define ID_SC68_PULSE4 20537
+#define ID_SC68_PULSE4_ANIM 20543
+#define ID_SC68_PULSE5 20538
+#define ID_SC68_PULSE5_ANIM 20544
+#define ID_SC68_PULSE6 20539
+#define ID_SC68_PULSE6_ANIM 20545
+#define ID_SC69_FAST_LIST 20552
+#define ID_SC69_CHIP_LIST 20553
+#define ID_SC69_LOGIC_LIST 20554
+#define ID_SC69_MOUSE_LIST 20555
+#define ID_SC69_PALETTE 20556
+#define ID_GRID69 20563
+#define ID_SC69_JOEY_LIST 20813
+#define ID_RESET_68_69 20559
+#define ID_RESET_71_69 20574
+#define ID_SC69_FLOOR 20557
+#define ID_SC69_EXIT 20560
+#define ID_SC69_GRILL 20562
+#define ID_SC69_DOOR 20570
+#define ID_SC69_PULSE1 20635
+#define ID_SC69_PULSE1_ANIM 20641
+#define ID_SC69_PULSE2 20636
+#define ID_SC69_PULSE2_ANIM 20642
+#define ID_SC69_PULSE3 20637
+#define ID_SC69_PULSE3_ANIM 20643
+#define ID_SC69_PULSE4 20638
+#define ID_SC69_PULSE4_ANIM 20644
+#define ID_SC69_PULSE5 20639
+#define ID_SC69_PULSE5_ANIM 20645
+#define ID_SC69_PULSE6 20640
+#define ID_SC69_PULSE6_ANIM 20646
+#define ID_SC70_FAST_LIST 20589
+#define ID_SC70_CHIP_LIST 20590
+#define ID_SC70_LOGIC_LIST 20591
+#define ID_SC70_MOUSE_LIST 20592
+#define ID_SC70_PALETTE 20593
+#define ID_GRID70 20597
+#define ID_RESET_68_70 20594
+#define ID_SC70_FLOOR 20595
+#define ID_SC70_DOOR 20598
+#define ID_SC70_IRIS 20600
+#define ID_SC70_BAR 20601
+#define ID_SC70_CONTROL 20602
+#define ID_SC70_GRILL 20603
+#define ID_SC70_CONSOL_ANIM 20647
+#define ID_SC70_PIT 20648
+#define ID_SC70_PIT_ANIM 20649
+#define ID_SC70_STEP_UP 20756
+#define ID_SC70_STEP_DOWN 20757
+#define ID_SC70_BAR_ANIM 20758
+#define ID_SC70_PULL_BAR 20759
+#define ID_SC70_ENTER_ANIM 20778
+#define ID_SC70_EXIT_ANIM 20779
+#define ID_SC710_FAST_LIST 20687
+#define ID_SC71_FAST_LIST 20564
+#define ID_SC71_CHIP_LIST 20565
+#define ID_SC71_LOGIC_LIST 20566
+#define ID_SC71_MOUSE_LIST 20567
+#define ID_SC71_PALETTE 20568
+#define ID_GRID71 20575
+#define ID_SC71_JOEY_LIST 20814
+#define ID_RESET_69_71 20571
+#define ID_RESET_72_71 20582
+#define ID_SC71_FAKE_FLOOR 20569
+#define ID_SC71_FLOOR 20572
+#define ID_SC71_DOOR69 20573
+#define ID_SC71_DOOR72 20579
+#define ID_SC71_LOCKED_DOOR 20674
+#define ID_SC71_MONITOR 20576
+#define ID_SC71_RECHARGER 20577
+#define ID_SC71_PANEL_ANIM 20776
+#define ID_SC71_PANEL2 20775
+#define ID_SC71_PANEL2_ANIM 20777
+#define ID_SC71_CONTROLS 20578
+#define ID_SC71_LIGHT2_ANIM 20768
+#define ID_SC71_LIGHT1 20766
+#define ID_SC71_LIGHT1_ANIM 20767
+#define ID_SC71_CHLITE 20769
+#define ID_SC71_CHLITE_ANIM 20770
+#define ID_SC71_MON_ANIM 20771
+#define ID_SC71_MEDI_CHARGE 20772
+#define ID_SC71_MEDI_GET_UP 20774
+#define ID_SC71_MEDI_SLOT 20675
+#define ID_SC71_USE_BOARD 20773
+#define ID_SC720_FAST_LIST 20686
+#define ID_SC72_FAST_LIST 20546
+#define ID_SC72_CHIP_LIST 20547
+#define ID_SC72_LOGIC_LIST 20548
+#define ID_SC72_MOUSE_LIST 20549
+#define ID_SC72_PALETTE 20550
+#define ID_GRID72 20596
+#define ID_SC72_JOEY_LIST 20815
+#define ID_RESET_71_72 20581
+#define ID_RESET_73_72 20614
+#define ID_SC72_FAKE_FLOOR 20551
+#define ID_SC72_FLOOR 20580
+#define ID_SC72_DOOR 20583
+#define ID_SC72_EXIT 20604
+#define ID_SC72_TAP 20588
+#define ID_SC72_TANK 20584
+#define ID_SC72_TANK_ANIM 20785
+#define ID_SC72_ROT_LIGHT 20792
+#define ID_SC72_ROTATING 20793
+#define ID_SC72_CHAMBER1 20585
+#define ID_SC72_CHAM1_ANIM 20789
+#define ID_SC72_CHAM1_LIGHT 20780
+#define ID_SC72_CHAM1_FLASH 20781
+#define ID_SC72_CHAMBER2 20586
+#define ID_SC72_CHAM2_ANIM 20790
+#define ID_SC72_CHAM2_LIGHT 20782
+#define ID_SC72_CHAM2_FLASH 20783
+#define ID_SC72_CHAMBER3 20761
+#define ID_SC72_CHAM3_ANIM 20791
+#define ID_SC72_COMPUTER 20765
+#define ID_SC72_COMP_FLASH 20786
+#define ID_SC72_COMPUTER2 20787
+#define ID_SC72_COMP2_FLASH 20788
+#define ID_SC72_LIGHT1 20762
+#define ID_SC72_LIGHT2 20763
+#define ID_SC72_LIGHT3 20764
+#define ID_SC72_GRILL 20587
+#define ID_SC72_WALTER_KILL 20794
+#define ID_SC72_FOSTER_DIE 20795
+#define ID_SC72_WALTER_DIE 20800
+#define ID_SC72_JOEY_TAP 20796
+#define ID_SC72_SPILL 20798
+#define ID_SC72_SPILL_ANIM 20799
+#define ID_SC72_DRIP_ANIM 20797
+#define ID_SC73_FAST_LIST 20605
+#define ID_SC73_CHIP_LIST 20606
+#define ID_SC73_LOGIC_LIST 20607
+#define ID_SC73_MOUSE_LIST 20608
+#define ID_SC73_PALETTE 20609
+#define ID_GRID73 20612
+#define ID_SC73_JOEY_LIST 20816
+#define ID_RESET_72_73 20610
+#define ID_RESET_74_73 20629
+#define ID_RESET_75_73 20673
+#define ID_SC73_FLOOR 20611
+#define ID_SC73_EXIT 20613
+#define ID_SC73_BIG_DOOR 20617
+#define ID_SC73_SENSOR 20618
+#define ID_SC73_SENSOR_ANIM 20657
+#define ID_SC73_DOOR 20619
+#define ID_SC73_LOCKED_DOOR 20676
+#define ID_SC73_CHAMBER3 20817
+#define ID_SC73_CHAM3_ANIM 20818
+#define ID_SC73_CHAMBER4 20615
+#define ID_SC73_CHAM4_ANIM 20658
+#define ID_SC73_CHAM4_LIGHT 20819
+#define ID_SC73_CHAM4_FLASH 20820
+#define ID_SC73_CHAMBER5 20616
+#define ID_SC73_CHAM5_ANIM 20755
+#define ID_SC73_CHAM5_LIGHT 20821
+#define ID_SC73_CHAM5_FLASH 20822
+#define ID_SC73_JOEY_LUNGE 20846
+#define ID_SC73_JOEY_FIGHT1 20847
+#define ID_SC73_GALL_FIGHT1 20848
+#define ID_SC73_JOEY_FIGHT2 20849
+#define ID_SC73_GALL_FIGHT2 20850
+#define ID_SC73_GET_BOARD 20859
+#define ID_SC73_SEARCH 20860
+#define ID_SC73_BITS 20851
+#define ID_SC73_BITS_ANIM 20852
+#define ID_SC73_BITS2 20853
+#define ID_SC73_BITS2_ANIM 20854
+#define ID_SC73_SPRAY 20855
+#define ID_SC73_SPRAY_ANIM 20856
+#define ID_SC74_FAST_LIST 20620
+#define ID_SC74_CHIP_LIST 20621
+#define ID_SC74_LOGIC_LIST 20622
+#define ID_SC74_MOUSE_LIST 20623
+#define ID_SC74_PALETTE 20624
+#define ID_GRID74 20627
+#define ID_RESET_73_74 20625
+#define ID_SC74_FLOOR 20626
+#define ID_SC74_DOOR 20628
+#define ID_SC74_INTERFACE 20633
+#define ID_SC74_INT_SLOT 20659
+#define ID_SC74_TERMINAL 20634
+#define ID_SC74_POD 20823
+#define ID_SC74_POD_DOWN 20824
+#define ID_SC74_POD_UP 20825
+#define ID_SC74_FOST_SIT 20826
+#define ID_SC74_GET_UP 20827
+#define ID_SC74_USECARD 20702
+#define ID_SC74_USECARD2 20704
+#define ID_SC74_RPOCKET 20862
+#define ID_SC74_MONITOR1 20630
+#define ID_SC74_MON1_ANIM 20801
+#define ID_SC74_MONITOR2 20802
+#define ID_SC74_MON2_ANIM 20803
+#define ID_SC74_MONITOR3 20804
+#define ID_SC74_MON3_ANIM 20805
+#define ID_SC74_MONITOR4 20806
+#define ID_SC74_MON4_ANIM 20807
+#define ID_SC74_LEFT_TV 20631
+#define ID_SC74_LTV_ANIM 20808
+#define ID_SC74_RIGHT_TV 20632
+#define ID_SC74_RTV_ANIM 20809
+#define ID_SC74_LIGHTS 20810
+#define ID_SC74_LIGHTS_ANIM 20811
+#define ID_SC75_FAST_LIST 20664
+#define ID_SC75_CHIP_LIST 20665
+#define ID_SC75_LOGIC_LIST 20666
+#define ID_SC75_MOUSE_LIST 20667
+#define ID_SC75_PALETTE 20668
+#define ID_GRID75 20671
+#define ID_SC75_JOEY_LIST 20912
+#define ID_RESET_73_75 20669
+#define ID_RESET_76_75 20698
+#define ID_RS_TONGS_EMPTY 20868
+#define ID_RS_TONGS_LIVE 20869
+#define ID_RS_TONGS_FROZEN 20870
+#define ID_RS_TONGS_DEAD 20871
+#define ID_SC75_FLOOR 20670
+#define ID_SC75_BIG_DOOR 20672
+#define ID_SC75_DOOR 20696
+#define ID_SC75_TONGS 20660
+#define ID_SC75_GET_TONGS 20857
+#define ID_SC75_NITRO_TANK 20699
+#define ID_SC75_NITRO_ANIM 20828
+#define ID_SC75_LIVE_TANK 20700
+#define ID_SC75_TANK_ANIM 20872
+#define ID_SC75_CONSOLE 20703
+#define ID_SC75_MON_ANIM 20829
+#define ID_SC75_CRASH_ANIM 20701
+#define ID_SC75_LIGHT1 20830
+#define ID_SC75_LIGHT1_ANIM 20831
+#define ID_SC75_LIGHT2 20832
+#define ID_SC75_LIGHT2_ANIM 20833
+#define ID_SC75_USECARD 20858
+#define ID_SC75_RPOCKET 20861
+#define ID_SC75_HAND_TANK 20875
+#define ID_SC75_GET_TISS 20863
+#define ID_SC75_FREEZE_IT 20864
+#define ID_SC75_FREEZE_IT2 20865
+#define ID_SC75_FREEZE_DED 20866
+#define ID_SC75_FREEZE_DED2 20867
+#define ID_SC75_FREEZE_TALK 126
+#define ID_SC75_DEAD_TALK 128
+#define ID_SC76_FAST_LIST 20688
+#define ID_SC76_CHIP_LIST 20689
+#define ID_SC76_LOGIC_LIST 20690
+#define ID_SC76_MOUSE_LIST 20691
+#define ID_SC76_PALETTE 20692
+#define ID_GRID76 20695
+#define ID_SC76_JOEY_LIST 20913
+#define ID_RESET_75_76 20693
+#define ID_RESET_77_76 20727
+#define ID_SC76_FLOOR 20694
+#define ID_SC76_DOOR75 20697
+#define ID_SC76_DOOR77 20725
+#define ID_SC76_ANDROID_1 20705
+#define ID_SC76_HATCH_1 20909
+#define ID_SC76_ANDROID_2 20706
+#define ID_SC76_HATCH_2 20910
+#define ID_SC76_ANDROID_3 20707
+#define ID_SC76_HATCH_3 20908
+#define ID_SC76_PUNCH 20916
+#define ID_SC76_FOSTFALL 20917
+#define ID_SC76_CONSOLE_1 20711
+#define ID_SC76_CONSOLE_2 20712
+#define ID_SC76_CONSOLE_3 20713
+#define ID_SC76_CABINET_1 20714
+#define ID_SC76_CAB1_OPEN 20890
+#define ID_SC76_CAB1_CLOSE 20891
+#define ID_SC76_CABINET_2 20715
+#define ID_SC76_CAB2_OPEN 20892
+#define ID_SC76_CAB2_CLOSE 20893
+#define ID_SC76_CABINET_3 20716
+#define ID_SC76_CAB3_OPEN 20894
+#define ID_SC76_CAB3_CLOSE 20895
+#define ID_SC76_BOARD_1 20896
+#define ID_SC76_BOARD_2 20897
+#define ID_SC76_BOARD_3 20898
+#define ID_SC76_OPEN_CAB 20899
+#define ID_SC76_SHUT_CAB 20900
+#define ID_SC76_LOW_GET 20901
+#define ID_SC76_LIGHT1 20834
+#define ID_SC76_LIGHT1_ANIM 20835
+#define ID_SC76_LIGHT2 20836
+#define ID_SC76_LIGHT2_ANIM 20837
+#define ID_SC76_LIGHT3 20838
+#define ID_SC76_LIGHT3_ANIM 20839
+#define ID_SC76_LIGHT4 20840
+#define ID_SC76_LIGHT4_ANIM 20841
+#define ID_SC76_LIGHT5 20842
+#define ID_SC76_LIGHT5_ANIM 20843
+#define ID_SC76_LIGHT6 20844
+#define ID_SC76_LIGHT6_ANIM 20845
+#define ID_SC76_LIGHT7 20902
+#define ID_SC76_LIGHT7_ANIM 20903
+#define ID_SC76_LIGHT8 20904
+#define ID_SC76_LIGHT8_ANIM 20905
+#define ID_SC76_LIGHT9 20906
+#define ID_SC76_LIGHT9_ANIM 20907
+#define ID_SC76_AND2_BABBLE 142
+#define ID_SC77_FAST_LIST 20717
+#define ID_SC77_CHIP_LIST 20718
+#define ID_SC77_LOGIC_LIST 20719
+#define ID_SC77_MOUSE_LIST 20720
+#define ID_SC77_PALETTE 20721
+#define ID_GRID77 20724
+#define ID_SC77_JOEY_LIST 20914
+#define ID_RESET_76_77 20722
+#define ID_RESET_78_77 20742
+#define ID_SC77_FLOOR 20723
+#define ID_SC77_DOOR76 20726
+#define ID_SC77_BIG_DOOR 20728
+#define ID_SC77_TANK_1 20729
+#define ID_SC77_TANK_2 20730
+#define ID_SC77_HAND_1 20731
+#define ID_SC77_HAND_2 20732
+#define ID_SC77_DOOR_OPEN 20760
+#define ID_SC77_FPUSHL_1 20918
+#define ID_SC77_FPUSHL_2 20919
+#define ID_SC77_FPUSHR_1 20920
+#define ID_SC77_FPUSHR_2 20921
+#define ID_SC77_KPUSHR_1 20922
+#define ID_SC77_KPUSHR_2 20923
+#define ID_SC77_STRETCH 20924
+#define ID_SC78_FAST_LIST 20733
+#define ID_SC78_CHIP_LIST 20734
+#define ID_SC78_LOGIC_LIST 20735
+#define ID_SC78_MOUSE_LIST 20736
+#define ID_SC78_PALETTE 20737
+#define ID_SC781_PALETTE 20964
+#define ID_GRID78 20740
+#define ID_RESET_77_78 20738
+#define ID_RESET_79_78 20753
+#define ID_SC78_LEDGE 20739
+#define ID_SC78_PIPE 20915
+#define ID_SC78_BIG_DOOR 20741
+#define ID_SC78_EXIT 20743
+#define ID_SC78_SUPPORT 20874
+#define ID_SC78_JUMP_DOWN 20881
+#define ID_SC78_CLIMB_UP 20883
+#define ID_SC79_FAST_LIST 20744
+#define ID_SC79_CHIP_LIST 20745
+#define ID_SC79_LOGIC_LIST 20746
+#define ID_SC79_MOUSE_LIST 20747
+#define ID_SC79_PALETTE 20748
+#define ID_SC791_PALETTE 20963
+#define ID_GRID79 20751
+#define ID_RESET_78_79 20749
+#define ID_RESET_80_79 20889
+#define ID_SC79_PIPE 20750
+#define ID_SC79_EXIT 20752
+#define ID_SC79_SUPPORT 20873
+#define ID_SC79_LADDER 20940
+#define ID_SC79_CROUCH_DOWN 20941
+#define ID_SC79_CROUCH_UP 20942
+#define ID_SC79_CLIMB_DOWN 20943
+#define ID_SC79_CLIMB_UP 20944
+#define ID_SC79_TIE_ROPE 20951
+#define ID_SC79_TOSS_ROPE 20952
+#define ID_SC79_KNOT 20955
+#define ID_SC79_ROPE 20887
+#define ID_SC79_ROPE_ANIM 20953
+#define ID_SC80_FAST_LIST 20876
+#define ID_SC80_CHIP_LIST 20877
+#define ID_SC80_LOGIC_LIST 20878
+#define ID_SC80_MOUSE_LIST 20879
+#define ID_SC80_PALETTE 20880
+#define ID_SC801_PALETTE 20959
+#define ID_SC802_PALETTE 20960
+#define ID_SC803_PALETTE 20961
+#define ID_SC804_PALETTE 20962
+#define ID_RESET_79_80 20882
+#define ID_SC80_SPOUT 20884
+#define ID_SC80_LADDER 20950
+#define ID_SC80_ROPE 20888
+#define ID_SC80_ORIFICE 20885
+#define ID_SC80_EXIT 20886
+#define ID_SC80_EXIT_OPEN 20954
+#define ID_SC80_GOO 20925
+#define ID_SC80_GOO_ANIM 20926
+#define ID_SC80_BUBBLE1 20927
+#define ID_SC80_BUB1_ANIM 20928
+#define ID_SC80_BUBBLE2 20929
+#define ID_SC80_BUBBLE3 20930
+#define ID_SC80_BUBBLE4 20931
+#define ID_SC80_BUBBLE5 20932
+#define ID_SC80_BUBBLE6 20933
+#define ID_SC80_BUBBLE7 20934
+#define ID_SC80_BUBBLE8 20935
+#define ID_SC80_BUBBLE9 20936
+#define ID_SC80_BUBBLE10 20937
+#define ID_SC80_BUBBLE11 20938
+#define ID_SC80_BUBBLE12 20939
+#define ID_SC80_CLIMB_DOWN 20945
+#define ID_SC80_CLIMB_UP 20946
+#define ID_SC80_PIPE_SHRUG 20965
+#define ID_SC80_CLAMBER 20947
+#define ID_SC80_GET_ROPE 20948
+#define ID_SC80_SWING 20949
+#define ID_SC80_DROP 20956
+#define ID_SC80_SAMPLE 20957
+#define ID_SC80_SAMPLE_FALL 20958
+#define IT_MEDI 32
+#define IT_MEDI_TALK 180
+#define IT_WITNESS 159
+#define IT_GALLAGHER 90
+#define IT_GALL_TALK 91
+#define IT_SC66_LAYER_0 20
+#define IT_SC66_DOOR 105
+#define IT_SC66_HI_BEAM_AN1 98
+#define IT_SC66_HI_BEAM_AN2 99
+#define IT_SC66_LO_BEAM_ANM 22
+#define IT_SC66_ROCK1 100
+#define IT_SC66_ROCK2 101
+#define IT_SC66_ROCK3 102
+#define IT_SC66_STONES 103
+#define IT_SC66_FOS_CRUSHED 104
+#define IT_SC66_FOS_WALK_IN 21
+#define IT_SC67_LAYER_0 23
+#define IT_SC67_LAYER_1 24
+#define IT_SC67_GRID_1 25
+#define IT_SC67_PULSE1 26
+#define IT_SC67_PULSE2 27
+#define IT_SC67_PULSE3 28
+#define IT_SC67_PULSE4 29
+#define IT_SC67_DOOR 30
+#define IT_SC67_ROCK 31
+#define IT_SC67_CRAWL 46
+#define IT_SC67_DUSTOFF 47
+#define IT_SC67_GETBRICK 48
+#define IT_SC67_BRICK 55
+#define IT_SC67_PLASTER 56
+#define IT_SC67_PICK_BRICK 129
+#define IT_SC67_PICK_PLAST 130
+#define IT_SC67_STICK_IN 131
+#define IT_SC67_PULL_OUT 132
+#define IT_SC67_BRICK_HIT 133
+#define IT_SC67_PLAST_HIT 134
+#define IT_SC67_LPOCKET 141
+#define IT_SC67_RPOCKET 142
+#define IT_SC67_RUB_HEAD 143
+#define IT_SC67_PUSS 149
+#define IT_SC67_MEDIFIX 150
+#define IT_SC67_MENDING 151
+#define IT_SC67_CROWBAR 152
+#define IT_SC68_LAYER_0 43
+#define IT_SC68_LAYER_1 44
+#define IT_SC68_GRID_1 45
+#define IT_SC68_DOOR 57
+#define IT_SC68_PULSE1 58
+#define IT_SC68_PULSE2 59
+#define IT_SC68_PULSE3 60
+#define IT_SC68_PULSE4 61
+#define IT_SC68_PULSE5 62
+#define IT_SC68_PULSE6 63
+#define IT_SC68_SENSOR 137
+#define IT_SC68_DESCEND 153
+#define IT_SC68_ASCEND 154
+#define IT_SC69_LAYER_0 71
+#define IT_SC69_LAYER_1 72
+#define IT_SC69_LAYER_2 74
+#define IT_SC69_GRID_1 75
+#define IT_SC69_GRID_2 76
+#define IT_SC69_PULSE1 109
+#define IT_SC69_PULSE2 110
+#define IT_SC69_PULSE3 111
+#define IT_SC69_PULSE4 112
+#define IT_SC69_PULSE5 113
+#define IT_SC69_PULSE6 114
+#define IT_SC70_LAYER_0 90
+#define IT_SC70_LAYER_1 91
+#define IT_SC70_LAYER_2 92
+#define IT_SC70_GRID_1 93
+#define IT_SC70_GRID_2 94
+#define IT_SC70_IRIS 95
+#define IT_SC70_BAR 96
+#define IT_SC70_CONSOLE 115
+#define IT_SC70_GRILL 116
+#define IT_SC70_PIT 117
+#define IT_SC70_STEP_UP 14
+#define IT_SC70_STEP_DOWN 15
+#define IT_SC70_PULL_BAR 18
+#define IT_SC70_ENTER_ANIM 97
+#define IT_SC71_LAYER_0 85
+#define IT_SC71_LAYER_1 86
+#define IT_SC71_LAYER_2 87
+#define IT_SC71_GRID_1 88
+#define IT_SC71_GRID_2 89
+#define IT_SC710_LAYER_0 70
+#define IT_SC710_LAYER_1 16
+#define IT_SC710_LAYER_2 157
+#define IT_SC710_GRID_1 17
+#define IT_SC710_GRID_2 158
+#define IT_SC71_LIGHT1 162
+#define IT_SC71_LIGHT2 163
+#define IT_SC71_SCREEN 164
+#define IT_SC71_CHARGE_LIGHT 165
+#define IT_SC71_MEDI_CHARGE 166
+#define IT_SC71_USE_BOARD 148
+#define IT_SC71_PANEL 167
+#define IT_SC71_PANEL2 168
+#define IT_SC72_LAYER_0 64
+#define IT_SC72_LAYER_1 65
+#define IT_SC72_LAYER_2 66
+#define IT_SC72_GRID_1 68
+#define IT_SC72_GRID_2 69
+#define IT_SC720_LAYER_0 67
+#define IT_SC720_LAYER_1 160
+#define IT_SC720_LAYER_2 155
+#define IT_SC720_GRID_1 161
+#define IT_SC720_GRID_2 156
+#define IT_WALTER_CONVERSATION 129
+#define IT_WALTER_TALK_UP 130
+#define IT_WALTER_TALK_DOWN 131
+#define IT_WALTER_TALK_LEFT 132
+#define IT_SC72_CHAM1_LIGHT 171
+#define IT_SC72_CHAM2_LIGHT 172
+#define IT_SC72_TANK 173
+#define IT_SC72_ROT_LIGHT 177
+#define IT_SC72_COMPUTER 169
+#define IT_SC72_COMPUTER2 170
+#define IT_SC72_CHAMBER1 174
+#define IT_SC72_CHAMBER2 175
+#define IT_SC72_CHAMBER3 176
+#define IT_SC72_WALTER_KILL 178
+#define IT_SC72_FOSTER_DIE 179
+#define IT_SC72_WALTER_DIE 30
+#define IT_SC72_GRILL 28
+#define IT_SC72_JOEY_TAP 29
+#define IT_SC72_SPILL 31
+#define IT_SC73_LAYER_0 97
+#define IT_SC73_LAYER_1 98
+#define IT_SC73_LAYER_2 99
+#define IT_SC73_GRID_1 101
+#define IT_SC73_GRID_2 102
+#define IT_SC73_BIG_DOOR 138
+#define IT_SC73_SENSOR 139
+#define IT_SC73_CHAMBER3 142
+#define IT_SC73_CHAMBER4 140
+#define IT_SC73_CHAMBER5 141
+#define IT_SC73_CHAM4_LIGHT 95
+#define IT_SC73_CHAM5_LIGHT 96
+#define IT_SC73_JOEY_LUNGE 85
+#define IT_SC73_JOEY_FIGHT1 86
+#define IT_SC73_GALL_FIGHT1 87
+#define IT_SC73_JOEY_FIGHT2 88
+#define IT_SC73_GALL_FIGHT2 89
+#define IT_SC73_GET_BOARD 43
+#define IT_SC73_SEARCH 44
+#define IT_SC73_DEAD_GALL 72
+#define IT_SC73_BITS 74
+#define IT_SC73_BITS2 75
+#define IT_SC73_SPRAY 76
+#define IT_SC74_LAYER_0 104
+#define IT_SC74_LAYER_1 105
+#define IT_SC74_LAYER_2 106
+#define IT_SC74_GRID_1 107
+#define IT_SC74_GRID_2 108
+#define IT_SC74_POD_DOWN 109
+#define IT_SC74_POD_UP 110
+#define IT_SC74_FOST_SIT 92
+#define IT_SC74_GET_UP 93
+#define IT_SC74_USECARD 70
+#define IT_SC74_USECARD2 71
+#define IT_SC74_RPOCKET 62
+#define IT_SC74_MONITOR1 55
+#define IT_SC74_MONITOR2 56
+#define IT_SC74_MONITOR3 57
+#define IT_SC74_MONITOR4 58
+#define IT_SC74_LEFT_TV 59
+#define IT_SC74_RIGHT_TV 60
+#define IT_SC74_LIGHTS 61
+#define IT_SC75_LAYER_0 144
+#define IT_SC75_LAYER_1 145
+#define IT_SC75_LAYER_2 146
+#define IT_SC75_GRID_1 147
+#define IT_SC75_GRID_2 148
+#define IT_SC75_MONITOR 149
+#define IT_SC75_CRASH 164
+#define IT_SC75_TANK 165
+#define IT_SC75_STEAM 150
+#define IT_SC75_LIGHT1 151
+#define IT_SC75_LIGHT2 152
+#define IT_SC75_TONGS 153
+#define IT_SC75_GET_TONGS 154
+#define IT_SC75_USECARD 155
+#define IT_SC75_RPOCKET 156
+#define IT_SC75_HAND_TANK 166
+#define IT_SC75_GET_TISS 157
+#define IT_SC75_FREEZE_IT 158
+#define IT_SC75_FREEZE_TALK 159
+#define IT_SC75_FREEZE_IT2 160
+#define IT_SC75_FREEZE_DED 161
+#define IT_SC75_DEAD_TALK 162
+#define IT_SC75_FREEZE_DED2 163
+#define IT_SC76_LAYER_0 14
+#define IT_SC76_LAYER_1 15
+#define IT_SC76_LAYER_2 16
+#define IT_SC76_GRID_1 17
+#define IT_SC76_GRID_2 18
+#define IT_SC76_LIGHT1 29
+#define IT_SC76_LIGHT2 30
+#define IT_SC76_LIGHT3 31
+#define IT_SC76_LIGHT4 32
+#define IT_SC76_LIGHT5 43
+#define IT_SC76_LIGHT6 44
+#define IT_SC76_LIGHT7 45
+#define IT_SC76_LIGHT8 46
+#define IT_SC76_LIGHT9 47
+#define IT_SC76_CABINET_1 55
+#define IT_SC76_CABINET_2 56
+#define IT_SC76_CABINET_3 57
+#define IT_SC76_BOARD_1 58
+#define IT_SC76_BOARD_2 59
+#define IT_SC76_BOARD_3 60
+#define IT_SC76_OPEN_CAB 62
+#define IT_SC76_LOW_GET 63
+#define IT_KEN 61
+#define IT_SC76_HATCH_1 66
+#define IT_SC76_ANDROID_2 67
+#define IT_SC76_HATCH_2 68
+#define IT_SC76_ANDROID_3 64
+#define IT_SC76_HATCH_3 65
+#define IT_SC76_PUNCH 69
+#define IT_SC76_FOSTFALL 70
+#define IT_SC76_KEN_TALK 71
+#define IT_SC76_AND2_BABBLE 72
+#define IT_SC77_LAYER_0 20
+#define IT_SC77_LAYER_1 21
+#define IT_SC77_GRID_1 22
+#define IT_SC77_BIG_DOOR 28
+#define IT_SC77_FPUSHL 74
+#define IT_SC77_FPUSHR 75
+#define IT_SC77_KPUSHR 76
+#define IT_SC77_STRETCH 87
+#define IT_SC78_LAYER_0 23
+#define IT_SC78_LAYER_1 24
+#define IT_SC78_GRID_1 25
+#define IT_SC78_JUMP_DOWN 85
+#define IT_SC78_CLIMB_UP 86
+#define IT_SC79_LAYER_0 26
+#define IT_SC79_SUPPORT 48
+#define IT_SC79_CROUCH 91
+#define IT_SC79_CLIMB 92
+#define IT_SC79_TIE_ROPE 96
+#define IT_SC79_TOSS_ROPE 97
+#define IT_SC79_ROPE 98
+#define IT_SC79_KNOT 101
+#define IT_SC80_LAYER_0 27
+#define IT_SC80_EXIT 100
+#define IT_SC80_ROPE 99
+#define IT_SC80_GOO 88
+#define IT_SC80_BUBBLE 89
+#define IT_SC80_CLIMB 90
+#define IT_SC80_CLAMBER 93
+#define IT_SC80_GET_ROPE 94
+#define IT_SC80_SWING 95
+#define IT_SC80_DROP 103
+#define IT_SC80_SAMPLE 104
+#define IT_SC80_PIPE_TALK 105
+#define IT_SC80_PIPE_SHRUG 106
+#define IDO_DOG_FOOD 49
+#define ID_SC30_FAST_LIST 16385
+#define ID_SC30_CHIP_LIST 16386
+#define ID_SC30_LOGIC_LIST 16387
+#define ID_SC30_MOUSE_LIST 16388
+#define ID_SC30_PALETTE 16389
+#define ID_SC30_WALK_GRID 16390
+#define ID_SC30_JOEY_LIST 16547
+#define ID_RESET_31_30 16413
+#define ID_RESET_33_30 16414
+#define ID_RESET_36_30 16539
+#define ID_RESET_42_30 16811
+#define ID_RESET_COURT_OPEN 16813
+#define ID_SC30_FLOOR 16392
+#define ID_SC30_EXIT_31 16393
+#define ID_SC30_EXIT_33 16394
+#define ID_SC30_EXIT_36 16492
+#define ID_SC30_COURT_DOOR 16487
+#define ID_SC30_COURT_CLOSE 16814
+#define ID_SC30_NOTICE 16489
+#define ID_SC30_STATUE_1 16490
+#define ID_SC30_STATUE_2 16491
+#define ID_SC30_HENRI 16516
+#define ID_SC30_HENRI_TALK 16517
+#define ID_SC30_HENRI_TIE 16518
+#define ID_SC30_HEN_STEP_F 16519
+#define ID_SC30_HEN_STEP_B 16520
+#define ID_SC30_HEN_BLINK 16521
+#define ID_SC30_PUSH_DOOR 16522
+#define ID_SC31_FAST_LIST 16774
+#define ID_SC31_CHIP_LIST 16396
+#define ID_SC31_LOGIC_LIST 16397
+#define ID_SC31_MOUSE_LIST 16398
+#define ID_SC31_PALETTE 16399
+#define ID_SC31_WALK_GRID 16400
+#define ID_SC31_JOEY_LIST 16548
+#define ID_RESET_START_31 16391
+#define ID_RESET_30_31 16401
+#define ID_RESET_32_31 16425
+#define ID_RESET_39_31 16463
+#define ID_RS_GUARD_CHAT 16699
+#define ID_RS_GUARD_AVAIL 16700
+#define ID_SC31_FLOOR 16402
+#define ID_SC31_EXIT_30 16403
+#define ID_SC31_EXIT_32 16415
+#define ID_SC31_EXIT_39 16453
+#define ID_SC31_LIFT_SLOT 16493
+#define ID_SC31_LIFT 16513
+#define ID_SC31_LIFT_OPEN 16514
+#define ID_SC31_LIFT_CLOSE 16515
+#define ID_SC31_USE_CARD 16523
+#define ID_SC31_PULL_ROPE 16551
+#define ID_SC31_LOWER_ROPE 16552
+#define ID_SC31_DROP_ROPE 16553
+#define ID_SC31_END_OF_ROPE 16554
+#define ID_SC31_ROPE 16555
+#define ID_SC31_ROPE_PULLED 16556
+#define ID_SC31_ROPE_LOWER 16557
+#define ID_SC31_ROPE_DROP 16558
+#define ID_SC31_BRICKS 16559
+#define ID_SC31_BRICKS_UP 16560
+#define ID_SC31_BRICKS_DOWN 16561
+#define ID_SC31_BRICKS_FALL 16562
+#define ID_SC31_PLANK 16563
+#define ID_SC31_PLANK_DROP 16564
+#define ID_SC31_PLANK_RAISE 16565
+#define ID_SC31_PLANK_FLICK 16566
+#define ID_SC31_GUARD 16601
+#define ID_SC31_GUARD_TALK 16607
+#define ID_SC31_GUARD_BLINK 16693
+#define ID_SC31_GUARD_MOVE 16694
+#define ID_SC31_GUARD_REACH 16695
+#define ID_SC31_GUARD_TALK2 16696
+#define ID_SC31_GET_BRICKS 16683
+#define ID_SC31_GET_PLANK 16687
+#define ID_SC31_CLIMB_PLANK 16684
+#define ID_SC31_DOG_FLY 16685
+#define ID_SC31_DOG_RISE 16697
+#define ID_SC31_DOG_SWIM 16698
+#define ID_SC31_PUT_BISC 16688
+#define ID_SC31_BISCUITS 16692
+#define ID_SC31_BISC_PLACED 16689
+#define ID_SC31_BISC_DROP 16690
+#define ID_SC31_BISC_RAISE 16691
+#define ID_SC32_FAST_LIST 16416
+#define ID_SC32_CHIP_LIST 16417
+#define ID_SC32_LOGIC_LIST 16418
+#define ID_SC32_MOUSE_LIST 16419
+#define ID_SC32_PALETTE 16420
+#define ID_SC32_WALK_GRID 16421
+#define ID_SC32_JOEY_LIST 16549
+#define ID_RESET_31_32 16422
+#define ID_RESET_33_32 16429
+#define ID_RESET_38_32 16452
+#define ID_SC32_FLOOR 16423
+#define ID_SC32_EXIT_31 16424
+#define ID_SC32_EXIT_33 16426
+#define ID_SC32_LIFT 16442
+#define ID_SC32_LIFT_OPEN 16540
+#define ID_SC32_LIFT_CLOSE 16541
+#define ID_SC32_TERMINAL 16494
+#define ID_SC32_BUZZER 16495
+#define ID_SC32_PLANT_1 16496
+#define ID_SC32_PLANT_2 16497
+#define ID_SC32_PLANT_3 16498
+#define ID_SC32_USE_CARD 16524
+#define ID_SC32_USE_COM 16525
+#define ID_SC32_VINCENT 16599
+#define ID_SC32_VINC_ANIM 16602
+#define ID_SC32_GARDENER 16600
+#define ID_SC32_GARDENING1 16622
+#define ID_SC32_GARDENING2 16623
+#define ID_SC32_GARDENER_UP 16624
+#define ID_SC32_GARDENER_DN 16625
+#define ID_SC32_GARD_TURN_D 16626
+#define ID_SC32_GARD_TURN_U 16627
+#define ID_SC32_GARDEN_TALK 16628
+#define ID_SC33_FAST_LIST 16404
+#define ID_SC33_CHIP_LIST 16405
+#define ID_SC33_LOGIC_LIST 16406
+#define ID_SC33_MOUSE_LIST 16407
+#define ID_SC33_PALETTE 16408
+#define ID_SC33_WALK_GRID 16409
+#define ID_SC33_JOEY_LIST 16550
+#define ID_RESET_30_33 16410
+#define ID_RESET_32_33 16427
+#define ID_RESET_34_33 16440
+#define ID_SC33_FLOOR 16411
+#define ID_SC33_EXIT_30 16412
+#define ID_SC33_EXIT_32 16428
+#define ID_SC33_SHED_DOOR 16430
+#define ID_SC33_LOCK 16499
+#define ID_SC33_USE_CARD 16526
+#define ID_SC33_PUSH_DOOR1 16527
+#define ID_SC33_PUSH_DOOR2 16528
+#define ID_SC33_DOOR_OPEN 16529
+#define ID_SC34_FAST_LIST 16431
+#define ID_SC34_CHIP_LIST 16432
+#define ID_SC34_LOGIC_LIST 16433
+#define ID_SC34_MOUSE_LIST 16434
+#define ID_SC34_PALETTE 16435
+#define ID_SC34_WALK_GRID 16436
+#define ID_RESET_33_34 16437
+#define ID_SC34_FLOOR 16438
+#define ID_SC34_DOOR 16439
+#define ID_SC34_SECATEURS 16501
+#define ID_SC34_TKT_MACHINE 16502
+#define ID_SC34_MAP 16503
+#define ID_SC34_BRICKS 16504
+#define ID_SC34_GET_SECS 16544
+#define ID_SC34_STAIRS1 16545
+#define ID_SC34_STAIRS2 16546
+#define ID_SC36_FAST_LIST 16530
+#define ID_SC36_CHIP_LIST 16531
+#define ID_SC36_LOGIC_LIST 16532
+#define ID_SC36_MOUSE_LIST 16533
+#define ID_SC36_PALETTE 16534
+#define ID_SC36_WALK_GRID 16535
+#define ID_RESET_30_36 16536
+#define ID_RESET_37_36 16593
+#define ID_RESET_COLSTON 16812
+#define ID_SC36_FLOOR 16537
+#define ID_SC36_LOW_FLOOR 16596
+#define ID_SC36_EXIT_30 16538
+#define ID_SC36_DOOR 16583
+#define ID_SC36_DOOROPEN 16792
+#define ID_SC36_DOORSHUT 16793
+#define ID_SC36_FOS_DOWN1 16748
+#define ID_SC36_FOS_DOWN2 16749
+#define ID_SC36_FOS_UP1 16750
+#define ID_SC36_FOS_UP2 16751
+#define ID_SC36_PRESS_PLATE 16752
+#define ID_SC36_USE_JUKEBOX 16753
+#define ID_SC36_REACH_GLASS 16759
+#define ID_SC36_GET_GLASS 16760
+#define ID_SC36_JUKEBOX 16597
+#define ID_SC36_JUKE_TALK 16756
+#define ID_SC36_JUKE_STUCK 16770
+#define ID_SC36_JUKE_BREAK 16771
+#define ID_SC36_JUKE_LIGHT 16757
+#define ID_SC36_JUKEBOX_ON 16754
+#define ID_SC36_JUKEBOX_OFF 16755
+#define ID_SC36_JUKE_KICKED 16758
+#define ID_SC36_CARDS 16742
+#define ID_SC36_GLASS 16747
+#define ID_SC36_SENSOR 16594
+#define ID_SC36_BAND 16598
+#define ID_SC36_BAND_ANIM 16686
+#define ID_SC36_BARMAN 16701
+#define ID_BAR_BLINK 16702
+#define ID_BAR_GET_DRINK 16703
+#define ID_BAR_DRINK 16704
+#define ID_BAR_GET_CLOTH 16705
+#define ID_BAR_PUT_CLOTH 16706
+#define ID_BAR_WIPE 16707
+#define ID_BAR_WIPE2 16708
+#define ID_BARMAN_TALK 16709
+#define ID_SC36_BABS 16772
+#define ID_SC36_BABS_TALK 16773
+#define ID_SC36_COLSTON 16731
+#define ID_SC36_COL_FEET 16732
+#define ID_SC36_COL_TALK1 16743
+#define ID_SC36_COL_TALK2 16744
+#define ID_SC36_COL_DRINK 16746
+#define ID_SC36_COL_DEAL 16733
+#define ID_SC36_COL_THINK 16734
+#define ID_SC36_COL_BLINK1 16735
+#define ID_SC36_COL_BLINK2 16736
+#define ID_SC36_COL_DOWN1 16761
+#define ID_SC36_COL_DOWN2 16762
+#define ID_SC36_COL_DOWN3 16763
+#define ID_SC36_COL_DOWN4 16764
+#define ID_SC36_COL_UP1 16765
+#define ID_SC36_COL_UP2 16766
+#define ID_SC36_COL_UP3 16767
+#define ID_SC36_COL_UP4 16768
+#define ID_SC36_COL_KICK 16769
+#define ID_SC36_GALLAGHER 16737
+#define ID_SC36_GAL_TALK 16745
+#define ID_SC36_GAL_LEGS 16738
+#define ID_SC36_GAL_DEAL 16739
+#define ID_SC36_GAL_LOOK1 16740
+#define ID_SC36_GAL_LOOK2 16741
+#define ID_SC37_FAST_LIST 16584
+#define ID_SC37_CHIP_LIST 16585
+#define ID_SC37_LOGIC_LIST 16586
+#define ID_SC37_MOUSE_LIST 16587
+#define ID_SC37_PALETTE 16588
+#define ID_SC37_WALK_GRID 16589
+#define ID_RESET_36_37 16590
+#define ID_SC37_FLOOR 16591
+#define ID_SC37_HOLDING_LID 16794
+#define ID_SC37_DOOR 16592
+#define ID_SC37_DOOROPEN 16790
+#define ID_SC37_DOORSHUT 16791
+#define ID_SC37_SENSOR 16595
+#define ID_SC37_BIG_BOX 16620
+#define ID_SC37_FLIMSY_BOX 16619
+#define ID_SC37_WINE_RACK 16799
+#define ID_SC37_LID 16621
+#define ID_SC37_LIDUP 16786
+#define ID_SC37_LIDDOWN 16787
+#define ID_SC37_LIDUSED 16788
+#define ID_SC37_GRILL 16617
+#define ID_SC37_GRILLOPEN 16789
+#define ID_SC37_CRBARBOX 16775
+#define ID_SC37_GETLID 16776
+#define ID_SC37_PUTLID 16777
+#define ID_SC37_USELID 16778
+#define ID_SC37_STEPUP 16779
+#define ID_SC37_FOOTDROP 16780
+#define ID_SC37_STEPDOWN 16781
+#define ID_SC37_USEBAR 16782
+#define ID_SC37_USESEC 16783
+#define ID_SC37_CLIMBOUT 16784
+#define ID_SC37_THUMBSUP 16785
+#define ID_SC38_FAST_LIST 16443
+#define ID_SC38_CHIP_LIST 16444
+#define ID_SC38_LOGIC_LIST 16445
+#define ID_SC38_MOUSE_LIST 16446
+#define ID_SC38_PALETTE 16447
+#define ID_SC38_WALK_GRID 16448
+#define ID_RESET_32_38 16449
+#define ID_RESET_SPUNKY_38 16616
+#define ID_RESET_DANI_SIT 16608
+#define ID_RESET_DANI_STAND 16609
+#define ID_RESET_DANI_32 16629
+#define ID_RESET_SPUNKY_32 16630
+#define ID_SC38_FLOOR 16450
+#define ID_SC38_LIFT 16451
+#define ID_SC38_LIFT_UP 16542
+#define ID_SC38_LIFT_DOWN 16543
+#define ID_SC38_STATUE 16505
+#define ID_SC38_MONITOR 16506
+#define ID_SC38_VIDEO 16507
+#define ID_SC38_SOFA 16508
+#define ID_SC38_DOG_TRAY 16615
+#define ID_SC38_BISCUITS 16618
+#define ID_SC38_HAND_SET 16610
+#define ID_SC38_RINGER 16611
+#define ID_SC38_RINGER_ANIM 16612
+#define ID_DANIELLE 16441
+#define ID_DANI_CONV 16603
+#define ID_SC38_DANI_ANIM_1 16395
+#define ID_SC38_DANI_ANIM_2 16488
+#define ID_SC38_DANI_ANIM_3 16500
+#define ID_SC38_DANI_GET_UP 16605
+#define ID_SC38_DANI_SATTLK 16604
+#define ID_SC38_GET_PHONE 16613
+#define ID_SC38_PHONE_TALK 16614
+#define ID_SPUNKY 16486
+#define ID_SNIFF_LEFT 16509
+#define ID_SNIFF_RIGHT 16510
+#define ID_PISS_LEFT 16511
+#define ID_PISS_RIGHT 16512
+#define ID_BARK 16637
+#define ID_SC38_USE_VIDEO 16631
+#define ID_SC38_VIDEO_ANIM 16632
+#define ID_SC38_SCREEN_1 16633
+#define ID_SC38_SCREEN_2 16634
+#define ID_SC38_SCREEN_3 16635
+#define ID_SC38_SCREEN_4 16636
+#define ID_SC38_REACH_FOOD 16638
+#define ID_SC38_GET_FOOD 16639
+#define ID_SC39_FAST_LIST 16454
+#define ID_SC39_CHIP_LIST 16455
+#define ID_SC39_LOGIC_LIST 16456
+#define ID_SC39_MOUSE_LIST 16457
+#define ID_SC39_PALETTE 16458
+#define ID_SC39_WALK_GRID 16459
+#define ID_RESET_31_39 16460
+#define ID_RESET_40_39 16475
+#define ID_RESET_41_39 16485
+#define ID_SC39_FLOOR 16461
+#define ID_SC39_EXIT_31 16462
+#define ID_SC39_EXIT_40 16464
+#define ID_SC39_EXIT_41 16465
+#define ID_SC40_FAST_LIST 16466
+#define ID_SC40_CHIP_LIST 16467
+#define ID_SC40_LOGIC_LIST 16468
+#define ID_SC40_MOUSE_LIST 16469
+#define ID_SC40_PALETTE 16470
+#define ID_SC40_WALK_GRID 16471
+#define ID_RESET_39_40 16472
+#define ID_SC40_FLOOR 16473
+#define ID_SC40_EXIT_39 16474
+#define ID_SC40_CABINET 16567
+#define ID_SC40_TROLLEY 16568
+#define ID_SC40_LOCKER_1 16569
+#define ID_SC40_LOCKER_2 16570
+#define ID_SC40_LOCKER_3 16571
+#define ID_SC40_LOCKER_4 16572
+#define ID_SC40_LOCKER_5 16573
+#define ID_SC40_LOCKER_OPEN 16574
+#define ID_SC40_LOCKER_SHUT 16575
+#define ID_SC40_BODY_1 16576
+#define ID_SC40_BODY_2 16577
+#define ID_SC40_BODY_3 16578
+#define ID_SC40_BODY_4 16579
+#define ID_SC40_BODY_5 16580
+#define ID_SC40_OPEN_DOOR 16581
+#define ID_SC40_CLOSE_DOOR 16582
+#define ID_SC41_FAST_LIST 16476
+#define ID_SC41_CHIP_LIST 16477
+#define ID_SC41_LOGIC_LIST 16478
+#define ID_SC41_MOUSE_LIST 16479
+#define ID_SC41_PALETTE 16480
+#define ID_SC41_WALK_GRID 16481
+#define ID_RESET_39_41 16482
+#define ID_SC41_FLOOR 16483
+#define ID_SC41_EXIT_39 16484
+#define ID_SC42_FAST_LIST 16802
+#define ID_SC42_CHIP_LIST 16803
+#define ID_SC42_LOGIC_LIST 16804
+#define ID_SC42_MOUSE_LIST 16805
+#define ID_SC42_PALETTE 16806
+#define ID_SC42_WALK_GRID 16807
+#define ID_RESET_30_42 16808
+#define ID_SC44_FAST_LIST 16640
+#define ID_SC44_CHIP_LIST 16641
+#define ID_SC44_LOGIC_LIST 16642
+#define ID_SC44_MOUSE_LIST 16643
+#define ID_SC44_PALETTE 16644
+#define ID_SC44_WALK_GRID 16645
+#define ID_RESET_37_44 16646
+#define ID_RESET_45_44 16647
+#define ID_SC44_FLOOR 16648
+#define ID_SC44_EXIT_45 16649
+#define ID_SC44_GRILL 16795
+#define ID_SC44_RUBBLE 16800
+#define ID_SC45_FAST_LIST 16650
+#define ID_SC45_CHIP_LIST 16651
+#define ID_SC45_LOGIC_LIST 16652
+#define ID_SC45_MOUSE_LIST 16653
+#define ID_SC45_PALETTE 16654
+#define ID_SC45_WALK_GRID 16655
+#define ID_RESET_44_45 16656
+#define ID_RESET_46_45 16657
+#define ID_RESET_47_45 16658
+#define ID_SC45_FLOOR 16659
+#define ID_SC45_EXIT_44 16660
+#define ID_SC45_EXIT_46 16661
+#define ID_SC45_EXIT_47 16662
+#define ID_SC46_FAST_LIST 16663
+#define ID_SC46_CHIP_LIST 16664
+#define ID_SC46_LOGIC_LIST 16665
+#define ID_SC46_MOUSE_LIST 16666
+#define ID_SC46_PALETTE 16667
+#define ID_SC46_WALK_GRID 16668
+#define ID_RESET_45_46 16669
+#define ID_SC46_FLOOR 16670
+#define ID_SC46_EXIT_45 16671
+#define ID_SC46_RUBBLE 16801
+#define ID_SC47_FAST_LIST 16672
+#define ID_SC47_CHIP_LIST 16673
+#define ID_SC47_LOGIC_LIST 16674
+#define ID_SC47_MOUSE_LIST 16675
+#define ID_SC47_PALETTE 16676
+#define ID_SC47_WALK_GRID 16677
+#define ID_RESET_45_47 16678
+#define ID_RESET_48_47 16679
+#define ID_SC47_FLOOR 16680
+#define ID_SC47_EXIT_45 16681
+#define ID_SC47_EXIT_48 16682
+#define ID_SC48_FAST_LIST 16710
+#define ID_SC48_CHIP_LIST 16711
+#define ID_SC48_LOGIC_LIST 16712
+#define ID_SC48_MOUSE_LIST 16713
+#define ID_SC48_PALETTE 16714
+#define ID_SC48_WALK_GRID 16715
+#define ID_RESET_47_48 16716
+#define ID_RESET_65_48 16717
+#define ID_SC48_FLOOR 16718
+#define ID_SC48_EXIT_47 16719
+#define ID_SC48_EXIT_65 16720
+#define ID_SC65_FAST_LIST 16721
+#define ID_SC65_CHIP_LIST 16722
+#define ID_SC65_LOGIC_LIST 16723
+#define ID_SC65_MOUSE_LIST 16724
+#define ID_SC65_PALETTE 16725
+#define ID_SC65_WALK_GRID 16726
+#define ID_RESET_48_65 16727
+#define ID_SC65_FLOOR 16728
+#define ID_SC65_EXIT_48 16729
+#define ID_SC65_EXIT_66 16730
+#define ID_SC65_POSTER1 16796
+#define ID_SC65_POSTER2 16797
+#define ID_SC65_SIGN 16798
+#define IT_SC30_LAYER_0 14
+#define IT_SC30_LAYER_1 15
+#define IT_SC30_LAYER_2 16
+#define IT_SC30_GRID_1 17
+#define IT_SC30_GRID_2 18
+#define IT_SC30_HENRI_TALK 87
+#define IT_SC30_HENRI_TIE 88
+#define IT_SC30_HENRI_STEP 89
+#define IT_SC30_HENRI_BLINK 90
+#define IT_SC30_COURT_DOOR 134
+#define IT_SC30_PUSH_DOOR 91
+#define IT_SC31_LAYER_0 20
+#define IT_SC31_LAYER_1 21
+#define IT_SC31_GRID_1 22
+#define IT_SC31_LIFT 86
+#define IT_SC31_USE_CARD 92
+#define IT_SC31_PULL_ROPE 31
+#define IT_SC31_HOLD_ROPE 108
+#define IT_SC31_LOWER_ROPE 32
+#define IT_SC31_DROP_ROPE 43
+#define IT_SC31_PLANK 44
+#define IT_SC31_BRICK_UP 45
+#define IT_SC31_BRICK_FALL 46
+#define IT_SC31_END_OF_ROPE 61
+#define IT_SC31_ROPE_PULLED 62
+#define IT_SC31_ROPE_LOWER 63
+#define IT_SC31_ROPE_DROP 64
+#define IT_SC31_GUARD_TALK 101
+#define IT_SC31_GUARD_BLINK 110
+#define IT_SC31_GUARD_MOVE 129
+#define IT_SC31_GUARD_REACH 130
+#define IT_SC31_GUARD_TALK2 131
+#define IT_SC31_GET_BRICKS 102
+#define IT_SC31_GET_PLANK 106
+#define IT_SC31_CLIMB_PLANK 103
+#define IT_SC31_DOG_FLY 104
+#define IT_SC31_DOG_RISE 132
+#define IT_SC31_DOG_SWIM 133
+#define IT_SC31_PUT_BISC 109
+#define IT_SC31_HAND 107
+#define IT_SC31_BISCUITS 105
+#define IT_SC32_LAYER_0 23
+#define IT_SC32_LAYER_1 24
+#define IT_SC32_LAYER_2 98
+#define IT_SC32_GRID_1 25
+#define IT_SC32_GRID_2 99
+#define IT_SC32_USE_CARD 93
+#define IT_SC32_USE_COM 94
+#define IT_SC32_LIFT 100
+#define IT_SC32_VINCENT 56
+#define IT_SC32_VINC_TALK 57
+#define IT_SC32_GARDENER 58
+#define IT_SC32_GARD_TURN 59
+#define IT_SC32_GARDEN_TALK 60
+#define IT_SC33_LAYER_0 26
+#define IT_SC33_LAYER_1 27
+#define IT_SC33_LAYER_2 28
+#define IT_SC33_GRID_1 29
+#define IT_SC33_GRID_2 30
+#define IT_SC33_USE_CARD 95
+#define IT_SC33_PUSH_DOOR 96
+#define IT_SC33_SHED_DOOR 97
+#define IT_SC34_LAYER_0 31
+#define IT_SC34_LAYER_1 32
+#define IT_SC34_GRID_1 43
+#define IT_SC34_STAIRS1 102
+#define IT_SC34_STAIRS2 103
+#define IT_SC34_SECATEURS 104
+#define IT_SC34_GET_SECS 105
+#define IT_SC36_LAYER_0 20
+#define IT_SC36_LAYER_1 21
+#define IT_SC36_LAYER_2 22
+#define IT_SC36_LAYER_3 56
+#define IT_SC36_GRID_1 23
+#define IT_SC36_GRID_2 24
+#define IT_SC36_GRID_3 57
+#define IT_SC36_BABS 106
+#define IT_SC36_BABS_TALK 107
+#define IT_SC36_FOS_DOWN1 92
+#define IT_SC36_FOS_DOWN2 93
+#define IT_SC36_FOS_UP1 94
+#define IT_SC36_FOS_UP2 95
+#define IT_SC36_PRESS_PLATE 70
+#define IT_SC36_USE_JUKEBOX 67
+#define IT_SC36_GET_GLASS 96
+#define IT_SC36_JUKE_LIGHT 68
+#define IT_SC36_JUKEBOX 86
+#define IT_SC36_GLASS 66
+#define IT_SC36_BAND 31
+#define IT_SC36_BARMAN 32
+#define IT_BARMAN_TALK 61
+#define IT_SC36_COLSTON 47
+#define IT_SC36_COL_FEET 48
+#define IT_SC36_COL_TALK1 62
+#define IT_SC36_COL_TALK2 63
+#define IT_SC36_COL_DRINK 69
+#define IT_SC36_COL_DOWN1 97
+#define IT_SC36_COL_DOWN2 98
+#define IT_SC36_COL_DOWN3 99
+#define IT_SC36_COL_DOWN4 100
+#define IT_SC36_COL_UP1 101
+#define IT_SC36_COL_UP2 102
+#define IT_SC36_COL_UP3 103
+#define IT_SC36_COL_UP4 104
+#define IT_SC36_COL_KICK 105
+#define IT_SC36_GALLAGHER 58
+#define IT_SC36_GAL_LEGS 59
+#define IT_SC36_GAL_TALK 64
+#define IT_SC36_CARDS 60
+#define IT_SC36_DOOR 144
+#define IT_SC37_LAYER_0 14
+#define IT_SC37_LAYER_1 15
+#define IT_SC37_LAYER_2 16
+#define IT_SC37_GRID_1 17
+#define IT_SC37_GRID_2 18
+#define IT_SC37_CRBARBOX 108
+#define IT_SC37_GETLID 109
+#define IT_SC37_USELID 110
+#define IT_SC37_STEPUP 129
+#define IT_SC37_FOOTDROP 130
+#define IT_SC37_STEPDOWN 131
+#define IT_SC37_USEBAR 132
+#define IT_SC37_USESEC 133
+#define IT_SC37_CLIMBOUT 134
+#define IT_SC37_THUMBSUP 136
+#define IT_SC37_BOXLID 137
+#define IT_SC37_LIDUP 138
+#define IT_SC37_LIDUSED 139
+#define IT_SC37_LOOSEBIT 140
+#define IT_SC37_GRILL 141
+#define IT_SC37_GRILLOPEN 142
+#define IT_SC37_DOOR 143
+#define IT_SC38_LAYER_0 44
+#define IT_SC38_LAYER_1 45
+#define IT_SC38_LAYER_2 46
+#define IT_SC38_GRID_1 47
+#define IT_SC38_GRID_2 48
+#define IT_DANIELLE 55
+#define IT_DANI_CONV 85
+#define IT_SPUNKY 71
+#define IT_SC38_SEXY_DANI 106
+#define IT_SC38_DANI_ANIMS 107
+#define IT_SC38_DANI_SATTLK 108
+#define IT_SC38_DANI_GET_UP 109
+#define IT_SNIFF_LEFT 72
+#define IT_SNIFF_RIGHT 74
+#define IT_PISS_LEFT 75
+#define IT_PISS_RIGHT 76
+#define IT_BARK 65
+#define IT_SC38_FOSTER_LIFT 101
+#define IT_SC38_HAND_SET 110
+#define IT_SC38_RINGER 129
+#define IT_SC38_GET_PHONE 130
+#define IT_SC38_PHONE_TALK 131
+#define IT_SC38_USE_VIDEO 132
+#define IT_SC38_VIDEO_ANIM 133
+#define IT_SC38_SCREEN_1 134
+#define IT_SC38_SCREEN_2 136
+#define IT_SC38_SCREEN_3 137
+#define IT_SC38_SCREEN_4 138
+#define IT_SC38_GET_FOOD 139
+#define IT_SC39_LAYER_0 56
+#define IT_SC39_LAYER_1 57
+#define IT_SC39_LAYER_2 58
+#define IT_SC39_GRID_1 59
+#define IT_SC39_GRID_2 60
+#define IT_SC40_LAYER_0 61
+#define IT_SC40_LAYER_1 62
+#define IT_SC40_LAYER_2 63
+#define IT_SC40_GRID_1 64
+#define IT_SC40_GRID_2 65
+#define IT_SC40_LOCKER 14
+#define IT_SC40_OPEN_DOOR 15
+#define IT_SC40_CLOSE_DOOR 16
+#define IT_SC41_LAYER_0 66
+#define IT_SC41_LAYER_1 67
+#define IT_SC41_LAYER_2 68
+#define IT_SC41_GRID_1 69
+#define IT_SC41_GRID_2 70
+#define IT_SC42_LAYER_0 20
+#define IT_SC42_LAYER_1 21
+#define IT_SC42_GRID_1 23
+#define IT_SC44_LAYER_0 25
+#define IT_SC45_LAYER_0 26
+#define IT_SC45_LAYER_1 27
+#define IT_SC45_GRID_1 28
+#define IT_SC46_LAYER_0 29
+#define IT_SC47_LAYER_0 30
+#define IT_SC48_LAYER_0 43
+#define IT_SC65_LAYER_0 44
+#define IT_SC65_LAYER_1 45
+#define IT_SC65_GRID_1 46
+#define ID_RADMAN 8205
+#define ID_FACT3_R_EXIT 8459
+#define ID_LOCKER3 8460
+#define ID_LOCKER2 8463
+#define ID_LOCKER1 8464
+#define ID_MACHINE 8467
+#define ID_STUMP 8468
+#define ID_S16_FLOOR 8473
+#define ID_ENTRANCE_EXIT 8478
+#define ID_REACTOR_PC 8480
+#define ID_REACTOR_DOOR 8481
+#define ID_RAD_SCREEN 8482
+#define ID_14_CONSOLE 8483
+#define ID_COAT 8484
+#define ID_SENSORS 8500
+#define ID_REACTOR_LOWER 8502
+#define ID_S17_FLOOR 8507
+#define ID_CORE_EXIT 8511
+#define ID_PULSE 8513
+#define ID_PULSEB 8515
+#define ID_ANITA_CARD 8517
+#define ID_CONSOLE_12 8524
+#define ID_JUNK1 4339
+#define ID_JUNK2 4340
+#define ID_LIFT7_LIGHT 8529
+#define ID_S29_FLOOR 12292
+#define ID_LIFT_29 12296
+#define ID_S29_CARD_SLOT 12299
+#define ID_LIFT29_LIGHT 12301
+#define ID_RIGHT_EXIT_29 12304
+#define ID_S23_FLOOR 12309
+#define ID_LEFT_EXIT_23 12313
+#define ID_ANCHOR_EXIT_23 12315
+#define ID_S25_FLOOR 12320
+#define ID_ANCHOR_EXIT_25 12324
+#define ID_TRAVEL_EXIT_23 12327
+#define ID_S24_FLOOR 12332
+#define ID_LEFT_EXIT_24 12336
+#define ID_LEFT_EXIT_29 12338
+#define ID_S28_FLOOR 12343
+#define ID_RIGHT_EXIT_28 12347
+#define ID_LEFT_EXIT_28 12349
+#define ID_S19_FLOOR 12354
+#define ID_RIGHT_EXIT_19 12358
+#define ID_LEFT_EXIT_19 12361
+#define ID_S26_FLOOR 12366
+#define ID_RIGHT_EXIT_26 12370
+#define ID_DUSTBIN_28 12372
+#define ID_POSTER1 12375
+#define ID_POSTER2 12376
+#define ID_POSTER3 12377
+#define ID_POSTER4 12378
+#define ID_26_PLANT 12379
+#define ID_LEAFLET 12380
+#define ID_HOLO 12381
+#define ID_BIN_23 12382
+#define ID_SCULPTURE 12383
+#define ID_LINK_23 12384
+#define ID_WRECK_23 12385
+#define ID_LONDON_POSTER 12386
+#define ID_NEW_YORK 12387
+#define ID_MURAL 12388
+#define ID_PIDGEONS 12405
+#define ID_LEFT_EXIT_26 12390
+#define ID_S27_FLOOR 12395
+#define ID_RIGHT_EXIT_27 12399
+#define ID_CHART1 12401
+#define ID_CHART2 12402
+#define ID_GAS 12403
+#define ID_SCANNER_27 12404
+#define ID_BURKE 12407
+#define ID_MEDI_COMP 12425
+#define ID_CHAIR_27 12417
+#define ID_HELMET_COLE 12420
+#define ID_BODY 12429
+#define ID_ANCHOR 12430
+#define ID_ANCHOR_PC 3
+#define ID_HOOK 12434
+#define ID_STATUE_25 12435
+#define ID_LAZER_25 12437
+#define ID_SPARK_25 12439
+#define ID_TREVOR 12442
+#define ID_UP_EXIT_28 12447
+#define ID_S20_FLOOR 12452
+#define ID_DOWN_EXIT_20 12456
+#define ID_REICH_DOOR_20 12459
+#define ID_REICH_SLOT 12462
+#define ID_S22_FLOOR 12467
+#define ID_RIGHT_EXIT_22 12471
+#define ID_LAMB_DOOR_20 12474
+#define ID_LAMB_SLOT 12477
+#define ID_S21_FLOOR 12482
+#define ID_LEFT_EXIT_21 12486
+#define ID_SHRUB_1 12488
+#define ID_SHRUB_2 12489
+#define ID_SHRUB_3 12490
+#define ID_LAMB_BED 12492
+#define ID_LAMB_TV 12493
+#define ID_FISH_TANK 12494
+#define ID_FISH_POSTER 12495
+#define ID_PILLOW 12496
+#define ID_MAGAZINE 12501
+#define ID_REICH_CHAIR 12505
+#define ID_CABINET 12506
+#define ID_CERT 12507
+#define ID_REICH_PICTURE 12508
+#define ID_FISH_FOOD 12509
+#define ID_LAMBS_BOOKS 12510
+#define ID_LAMBS_CHAIR 12511
+#define ID_DISPENSOR 12512
+#define ID_CATFOOD 12514
+#define ID_VIDEO 12516
+#define ID_CASSETTE 12517
+#define ID_BIG_PICT1 12524
+#define ID_VIDEO_SCREEN 12525
+#define ID_BIG_PICT2 12526
+#define ID_BIG_PICT3 12527
+#define ID_CAT 12534
+#define ID_BIO_DOOR 12541
+#define ID_SALES_CHART 12545
+#define ID_GALLAGER_BEL 12546
+#define ID_FAKE_FLOOR_22 12554
+#define ID_REICH_WINDOW 12555
+#define ID_LAMB_WINDOW 12556
+#define ID_FAKE_FLOOR_21 12557
+#define ID_INNER_LAMB_DOOR 12558
+#define ID_TICKET 12565
+#define ID_GLOBE 12568
+#define ID_INNER_R_DOOR 12571
+#define ID_GLASS_SLOT 12574
+#define ID_LIFT_WAIT 42
+#define ID_CABLE_7 8204
+#define ID_CABLE_29 12588
+#define ID_S11_FLOOR 12594
+#define ID_CABLE_FALL 12601
+#define ID_CABLE_FALL2 12604
+#define ID_SMASHED_WINDOW 12605
+#define ID_BITS 12607
+#define ID_BITS2 12609
+#define ID_LOCKER_11 12613
+#define ID_SPY_11 12612
+#define ID_SLOT_11 12616
+#define ID_SOCCER_1 12620
+#define ID_SOCCER_2 12621
+#define ID_SOCCER_3 12622
+#define ID_SOCCER_4 12623
+#define ID_SOCCER_5 12624
+#define ID_SLAT_1 12626
+#define ID_SLAT_2 12627
+#define ID_SLAT_3 12628
+#define ID_SLAT_4 12629
+#define ID_SLAT_5 12630
+#define ID_RIGHT_EXIT_11 12631
+#define ID_S10_FLOOR 12636
+#define ID_LEFT_EXIT_10 12641
+#define ID_LIFT_10 12642
+#define ID_LIFT_SLOT_10 12644
+#define ID_SCANNER_10 12647
+#define ID_POD 12648
+#define ID_LINC_10 12651
+#define ID_POD_LIGHT 12652
+#define ID_MONITOR_10 12657
+#define ID_LIYT_1 12659
+#define ID_LIYT_2 12661
+#define ID_LIYT_3 12663
+#define ID_LIYT_4 12665
+#define ID_LITEBANK 12667
+#define ID_TERMINAL_10 12670
+#define ID_FAKE_FLOOR_9 8536
+#define ID_FAKE_FLOOR_10 12672
+#define ID_LINC_S9 8543
+#define ID_SMALL_23 12676
+#define ID_SMALL_R_29 12677
+#define ID_SMALL_L_29 12678
+#define ID_SMALL_R_28 12679
+#define ID_SMALL_L_28 12680
+#define ID_SMALL_19 12681
+#define ID_S29_SML_FLOOR 12682
+#define ID_S28_SML_FLOOR 12686
+#define ID_LIFT_28 12694
+#define ID_SLOT_28 12697
+#define ID_COPTER 8209
+#define ID_SC48_SOCKET 16815
+#define ID_SC48_HOLE 16816
+#define ID_SC48_EYES 16817
+#define ID_SC48_LIGHT_PAL 16820
+#define ID_SC42_JUDGE 16821
+#define ID_SC42_CLERK 16822
+#define ID_SC42_PROSECUTION 16823
+#define ID_SC42_JOBSWORTH 16824
+#define ID_SC42_SIGN 16849
+#define ID_DOG_BARK_THING 16855
+#define ID_SC41_HEAT_1 16856
+#define ID_SC41_HEAT_2 16857
+#define ID_SC41_HEAT_3 16858
+#define ID_FIRE1 4360
+#define ID_FIRE2 4362
+#define ID_CAR_UP 4364
+#define ID_CAR_DOWN 4366
+#define C_LOGIC 0
+#define C_STATUS 2
+#define C_SYNC 4
+#define C_SCREEN 6
+#define C_PLACE 8
+#define C_GET_TO_TABLE 10
+#define C_XCOOD 14
+#define C_YCOOD 16
+#define C_FRAME 18
+#define C_CURSOR_TEXT 20
+#define C_MOUSE_ON 22
+#define C_MOUSE_OFF 24
+#define C_MOUSE_CLICK 26
+#define C_MOUSE_REL_X 28
+#define C_MOUSE_REL_Y 30
+#define C_MOUSE_SIZE_X 32
+#define C_MOUSE_SIZE_Y 34
+#define C_ACTION_SCRIPT 36
+#define C_UP_FLAG 38
+#define C_DOWN_FLAG 40
+#define C_GET_TO_FLAG 42
+#define C_FLAG 44
+#define C_MOOD 46
+#define C_GRAFIX_PROG 48
+#define C_OFFSET 52
+#define C_MODE 54
+#define C_BASE_SUB 56
+#define C_ACTION_SUB 60
+#define C_GET_TO_SUB 64
+#define C_EXTRA_SUB 68
+#define C_DIR 72
+#define C_STOP_SCRIPT 74
+#define C_MINI_BUMP 76
+#define C_LEAVING 78
+#define C_AT_WATCH 80
+#define C_AT_WAS 82
+#define C_ALT 84
+#define C_REQUEST 86
+
diff --git a/sky/struc.h b/sky/struc.h
index 55c6b44828..06c43718f4 100644
--- a/sky/struc.h
+++ b/sky/struc.h
@@ -19,8 +19,10 @@
*
*/
-struct dataFileHeader
-{
+#ifndef SKYSTRUC_H
+#define SKYSTRUC_H
+
+struct dataFileHeader {
uint16 flag; // bit 0: set for colour data, clear for not
// bit 1: set for compressed, clear for uncompressed
// bit 2: set for 32 colours, clear for 16 colours
@@ -36,3 +38,118 @@ struct dataFileHeader
uint16 s_compressed_size;
};
+#if !defined(__GNUC__)
+#pragma START_PACK_STRUCTS
+#endif
+
+struct ExtCompact {
+ uint16 actionSub;
+ uint16 actionSub_off;
+ uint16 getToSub;
+ uint16 getToSub_off;
+ uint16 extraSub;
+ uint16 extraSub_off;
+
+ uint16 dir;
+
+ uint16 stopScript;
+ uint16 miniBump;
+ uint16 leaving;
+ uint16 atWatch; // pointer to script variable
+ uint16 atWas; // pointer to script variable
+ uint16 alt; // alternate script
+ uint16 request;
+
+ uint16 spWidth_xx;
+ uint16 spColour;
+ uint16 spTextId;
+ uint16 spTime;
+
+ uint16 arAnimIndex;
+ void *turnProg;
+
+ uint16 waitingFor;
+
+ uint16 arTargetX;
+ uint16 arTargetY;
+
+ void *animScratch; // data area for AR
+
+ uint16 megaSet;
+
+ uint16 gridWidth;
+ uint16 colOffset;
+ uint16 colWidth;
+ uint16 lastChr;
+
+ uint16 *animUp;
+ uint16 *animDown;
+ uint16 *animLeft;
+ uint16 *animRight;
+
+ uint16 *standUp;
+ uint16 *standDown;
+ uint16 *standLeft;
+ uint16 *standRight;
+ uint16 *standTalk;
+} GCC_PACK;
+
+struct UnknownStuff {
+ uint16 unknownStuff_1_1[4];
+ uint16 *unknownStuff_1_2[34];
+ uint16 unknownStuff_2_1[4];
+ uint16 *unknownStuff_2_2[34];
+ uint16 unknownStuff_3_1[4];
+ uint16 *unknownStuff_3_2[34];
+} GCC_PACK;
+
+struct Compact {
+ uint16 logic; // Entry in logic table to run (byte as <256entries in logic table
+ uint16 status;
+ uint16 sync; // flag sent to compacts by other things
+
+ uint16 screen; // current screen
+ uint16 place; // so's this one
+ uint16 *getToTable; // Address of how to get to things table
+
+ uint16 xcood;
+ uint16 ycood;
+
+ uint16 frame;
+
+ uint16 cursorText;
+ uint16 mouseOn;
+ uint16 mouseOff;
+ uint16 mouseClick; // dword script
+
+ uint16 mouseRelX;
+ uint16 mouseRelY;
+ uint16 mouseSizeX;
+ uint16 mouseSizeY;
+
+ uint16 actionScript;
+
+ uint16 upFlag; // usually holds the Action Mode
+ uint16 downFlag; // used for passing back
+ uint16 getToFlag; // used by action script for get to attempts, also frame store (hence word)
+ uint16 flag; // a use any time flag
+
+ uint16 mood; // high level - stood or not
+ uint16 *grafixProg;
+ uint16 offset;
+
+ uint16 mode; // which mcode block
+
+ uint16 baseSub; // 1st mcode block relative to start of compact
+ uint16 baseSub_off;
+
+ ExtCompact *extCompact;
+ void *turnTable;
+ UnknownStuff *unknownStuff;
+} GCC_PACK;
+
+#if !defined(__GNUC__)
+#pragma END_PACK_STRUCTS
+#endif
+
+#endif
diff --git a/sky/text.cpp b/sky/text.cpp
index cdc6a10a00..222f6cb086 100644
--- a/sky/text.cpp
+++ b/sky/text.cpp
@@ -81,17 +81,17 @@ void SkyText::fnSetFont(uint32 fontNr) {
_dtCharSpacing = newCharSet->charSpacing;
}
-void SkyText::getText(uint32 textNr, void **itemList, uint16 language) { //load text #"textNr" into textBuffer
+void SkyText::getText(uint32 textNr, uint16 language) { //load text #"textNr" into textBuffer
uint32 sectionNo = (textNr & 0x0F000) >> 10;
- if (itemList[FIRST_TEXT_SEC + sectionNo] == (void*)NULL) { //check if already loaded
+ if (SkyState::_itemList[FIRST_TEXT_SEC + sectionNo] == (void **)NULL) { //check if already loaded
debug(5, "Loading Text item(s) for Section %d", (sectionNo>>2));
uint32 fileNo = (sectionNo >> 2);
fileNo += ((language * NO_OF_TEXT_SECTIONS) + 60600);
- itemList[FIRST_TEXT_SEC + sectionNo] = (void *)_skyDisk->loadFile((uint16)fileNo, NULL);
+ SkyState::_itemList[FIRST_TEXT_SEC + sectionNo] = (void **)_skyDisk->loadFile((uint16)fileNo, NULL);
}
- _textItemPtr = (uint8 *)itemList[FIRST_TEXT_SEC + sectionNo];
+ _textItemPtr = (uint8 *)SkyState::_itemList[FIRST_TEXT_SEC + sectionNo];
uint32 offset = 0;
uint32 nr32MsgBlocks = (textNr & 0x0fe0);
diff --git a/sky/text.h b/sky/text.h
index 4d4860feb3..6b1abf37da 100644
--- a/sky/text.h
+++ b/sky/text.h
@@ -27,7 +27,7 @@
class SkyText {
public:
SkyText(SkyDisk *skyDisk, uint32 gameVersion);
- void getText(uint32 textNr, void **itemList, uint16 language);
+ void getText(uint32 textNr, uint16 language);
void displayText(uint8 *dest, bool centre, uint16 pixelWidth, uint8 color);
void displayText(char *textPtr, uint8 *dest, bool centre, uint16 pixelWidth, uint8 color);
void makeGameCharacter(char textChar, uint8 *charSetPtr, uint8 *&data, uint8 color);