HUGO: Improve mouse support in H3 DOS version

- Fix description of Penelope lying (when using mouse)
- Use H3 Win logic in order to handle horizon
- Add a workaround for a data bug in scenery1.dat, fixing the
pathfinding bug in Crash screen

svn-id: r55292
This commit is contained in:
Arnaud Boutonné 2011-01-18 09:16:52 +00:00
parent 839926ef10
commit 4413754ad2
7 changed files with 208 additions and 177 deletions

Binary file not shown.

View File

@ -1054,6 +1054,10 @@ void HugoEngine::readScreenFiles(int screenNum) {
_file->readOverlay(screenNum, _boundary, BOUNDARY); // Boundary file _file->readOverlay(screenNum, _boundary, BOUNDARY); // Boundary file
_file->readOverlay(screenNum, _overlay, OVERLAY); // Overlay file _file->readOverlay(screenNum, _overlay, OVERLAY); // Overlay file
_file->readOverlay(screenNum, _ovlBase, OVLBASE); // Overlay base file _file->readOverlay(screenNum, _ovlBase, OVLBASE); // Overlay base file
if ((screenNum == 0) && (_gameVariant == 5)) // H3 Dos
clearScreenBoundary(50, 311, 152);
} }
/** /**
@ -1171,6 +1175,24 @@ void HugoEngine::clearBoundary(int x1, int x2, int y) {
} }
} }
/**
* Clear a horizontal line segment in the screen boundary file
* Used to fix some data issues
*/
void HugoEngine::clearScreenBoundary(int x1, int x2, int y) {
debugC(5, kDebugEngine, "clearScreenBoundary(%d, %d, %d)", x1, x2, y);
for (int i = x1 >> 3; i <= x2 >> 3; i++) { // For each byte in line
byte *b = &_boundary[y * XBYTES + i]; // get boundary byte
if (i == x2 >> 3) // Adjust right end
*b &= ~(0xff << ((i << 3) + 7 - x2));
else if (i == x1 >> 3) // Adjust left end
*b &= ~(0xff >> (x1 - (i << 3)));
else
*b = 0;
}
}
/** /**
* Search background command list for this screen for supplied object. * Search background command list for this screen for supplied object.
* Return first associated verb (not "look") or 0 if none found. * Return first associated verb (not "look") or 0 if none found.

View File

@ -36,7 +36,7 @@
#include "hugo/file.h" #include "hugo/file.h"
#define HUGO_DAT_VER_MAJ 0 // 1 byte #define HUGO_DAT_VER_MAJ 0 // 1 byte
#define HUGO_DAT_VER_MIN 39 // 1 byte #define HUGO_DAT_VER_MIN 40 // 1 byte
#define DATAALIGNMENT 4 #define DATAALIGNMENT 4
#define EDGE 10 // Closest object can get to edge of screen #define EDGE 10 // Closest object can get to edge of screen
#define EDGE2 (EDGE * 2) // Push object further back on edge collision #define EDGE2 (EDGE * 2) // Push object further back on edge collision
@ -209,6 +209,7 @@ public:
void initGamePart(const HugoGameDescription *gd); void initGamePart(const HugoGameDescription *gd);
void boundaryCollision(object_t *obj); void boundaryCollision(object_t *obj);
void clearBoundary(int x1, int x2, int y); void clearBoundary(int x1, int x2, int y);
void clearScreenBoundary(int x1, int x2, int y);
void endGame(); void endGame();
void initStatus(); void initStatus();
void readScreenFiles(int screen); void readScreenFiles(int screen);

View File

@ -157,6 +157,7 @@ void ObjectHandler_v3d::moveObjects() {
} }
if (obj->vx || obj->vy) if (obj->vx || obj->vy)
obj->cycling = CYCLE_FORWARD; obj->cycling = CYCLE_FORWARD;
break; break;
default: default:
; // Really, nothing ; // Really, nothing
@ -261,6 +262,9 @@ void ObjectHandler_v3d::swapImages(int objNumb1, int objNumb2) {
restoreSeq(&_objects[objNumb1]); restoreSeq(&_objects[objNumb1]);
_objects[objNumb2].currImagePtr = _objects[objNumb2].seqList[0].seqPtr; _objects[objNumb2].currImagePtr = _objects[objNumb2].seqList[0].seqPtr;
_vm->_heroImage = (_vm->_heroImage == HERO) ? objNumb2 : HERO; _vm->_heroImage = (_vm->_heroImage == HERO) ? objNumb2 : HERO;
// Make sure baseline stays constant
_objects[objNumb1].y += _objects[objNumb2].currImagePtr->y2 - _objects[objNumb1].currImagePtr->y2;
} }
} // End of namespace Hugo } // End of namespace Hugo

View File

@ -31,7 +31,7 @@
#define DATAALIGNMENT 4 #define DATAALIGNMENT 4
#define HUGO_DAT_VER_MAJ 0 // 1 byte #define HUGO_DAT_VER_MAJ 0 // 1 byte
#define HUGO_DAT_VER_MIN 39 // 1 byte #define HUGO_DAT_VER_MIN 40 // 1 byte
typedef unsigned char uint8; typedef unsigned char uint8;
typedef unsigned char byte; typedef unsigned char byte;

View File

@ -125,9 +125,12 @@ enum seqTextData_3d {
kDTtnatgirl_3d, kDTtflask_3d, kDTtmouse_3d, kDTtcage_3d, kDTtpipe_3d, kDTtnatgirl_3d, kDTtflask_3d, kDTtmouse_3d, kDTtcage_3d, kDTtpipe_3d,
kDTtelephant_3d, kDTtbouillon_3d, kDTtcheese_3d, kDTtspider_3d, kDTtscroll_3d, kDTtelephant_3d, kDTtbouillon_3d, kDTtcheese_3d, kDTtspider_3d, kDTtscroll_3d,
kDTtcrystal_3d, kDTtghost_3d, kDTtbell_3d, kDTtbook_3d, kDTtcandle_3d, kDTtcrystal_3d, kDTtghost_3d, kDTtbell_3d, kDTtbook_3d, kDTtcandle_3d,
kDTsong0_3d, kDTsong1_3d, kDTsong2_3d, kDTsong3_3d, kDTsong3a_3d, // Added by Strangerke to improve Mouse support
kDTsong4_3d, kDTsong5_3d, kDTsong6_3d, kDTsong7_3d, kDTsong8_3d, kDTtplie_3d,
kDTsong9_3d, kDTsong10_3d, kDTsong11_3d, kDTsong12_3d //
kDTsong0_3d, kDTsong1_3d, kDTsong2_3d, kDTsong3_3d,
kDTsong3a_3d, kDTsong4_3d, kDTsong5_3d, kDTsong6_3d, kDTsong7_3d,
kDTsong8_3d, kDTsong9_3d, kDTsong10_3d, kDTsong11_3d, kDTsong12_3d
}; };
enum seqNouns_1w { enum seqNouns_1w {
@ -709,37 +712,39 @@ enum seqActList_3d {
kALfillord_3d, kALfilltest2_3d, kALfilltest3_3d, kALfindbook_3d, kALfindcrystal_3d, kALfillord_3d, kALfilltest2_3d, kALfilltest3_3d, kALfindbook_3d, kALfindcrystal_3d,
kALfindit_3d, kALflash_3d, kALflask_3d, kALflasktest2_3d, kALflasktest3_3d, kALfindit_3d, kALflash_3d, kALflask_3d, kALflasktest2_3d, kALflasktest3_3d,
kALgarden_wbase_3d, kALgettest2_3d, kALgive_3d, kALgiveb_3d, kALgivetest_3d, kALgarden_wbase_3d, kALgettest2_3d, kALgive_3d, kALgiveb_3d, kALgivetest_3d,
kALgot_3d, kALgotit_3d, kALholel_3d, kALholer_3d, kALhorizon_3d, kALgot_3d, kALgotit_3d, kALholel_3d, kALholer_3d, kALhut_camp_3d,
kALhut_camp_3d, kALhut_enter_3d, kALhut_in_3d, kALhut_out_3d, kALhut_village_c_3d, kALhut_enter_3d, kALhut_in_3d, kALhut_out_3d, kALhut_village_c_3d, kALhut_village_r_3d,
kALhut_village_r_3d, kALleft_3d, kALlookfall_3d, kALlooknofall_3d, kALlookwfall_3d, kALleft_3d, kALlookfall_3d, kALlooknofall_3d, kALlookwfall_3d, kALmagictip_3d,
kALmagictip_3d, kALmakeclay_3d, kALmakeit_3d, kALmap0_3d, kALmap1_3d, kALmakeclay_3d, kALmakeit_3d, kALmap0_3d, kALmap1_3d, kALmission_3d,
kALmission_3d, kALmodeltip_3d, kALmouse_3d, kALmousego_3d, kALmousegone_3d, kALmodeltip_3d, kALmouse_3d, kALmousego_3d, kALmousegone_3d, kALmousel_3d,
kALmousel_3d, kALmouser_3d, kALmousetip_3d, kALnat1_3d, kALnat2_3d, kALmouser_3d, kALmousetip_3d, kALnat1_3d, kALnat2_3d, kALnat3_3d,
kALnat3_3d, kALnat4_3d, kALnat5_3d, kALnat6_3d, kALnat7_3d, kALnat4_3d, kALnat5_3d, kALnat6_3d, kALnat7_3d, kALnat8_3d,
kALnat8_3d, kALnat9_3d, kALnative_3d, kALnoblow_3d, kALnocarry_3d, kALnat9_3d, kALnative_3d, kALnoblow_3d, kALnocarry_3d, kALnoclay_3d,
kALnoclay_3d, kALnofill_3d, kALnomake_3d, kALnopurps_3d, kALnoremedy_3d, kALnofill_3d, kALnomake_3d, kALnopurps_3d, kALnoremedy_3d, kALnospell_3d,
kALnospell_3d, kALnostick_3d, kALnostickpin_3d, kALnotakecb_3d, kALnothanks2_3d, kALnostick_3d, kALnostickpin_3d, kALnotakecb_3d, kALnothanks2_3d, kALnothanks_3d,
kALnothanks_3d, kALnotip_3d, kALnottied_3d, kALok_3d, kALoktoleave1_3d, kALnotip_3d, kALnottied_3d, kALok_3d, kALoktoleave1_3d, kALoktoleave2_3d,
kALoktoleave2_3d, kALold2_3d, kALold3_3d, kALold4_3d, kALold5_3d, kALold2_3d, kALold3_3d, kALold4_3d, kALold5_3d, kALold6_3d,
kALold6_3d, kALold7_3d, kALoldfirst_3d, kALoldman_3d, kALoldmantip_3d, kALold7_3d, kALoldfirst_3d, kALoldman_3d, kALoldmantip_3d, kALoldsubseq_3d,
kALoldsubseq_3d, kALopencage_3d, kALopencdoor_3d, kALopendoor_3d, kALpath_3d, kALopencage_3d, kALopencdoor_3d, kALopendoor_3d, kALpath_3d, kALpath_brg_3d,
kALpath_brg_3d, kALpath_stream_3d, kALpath_village_3d, kALpath_web_3d, kALplane_3d, kALpath_stream_3d, kALpath_village_3d, kALpath_web_3d, kALplane_3d, kALplanetip_3d,
kALplanetip_3d, kALpostest_3d, kALprod_3d, kALputitdown_3d, kALreadbook_3d, kALpostest_3d, kALprod_3d, kALputitdown_3d, kALreadbook_3d, kALreadord_3d,
kALreadord_3d, kALreadtest2_3d, kALrefuse_3d, kALrefuseflask_3d, kALremedy_3d, kALreadtest2_3d, kALrefuse_3d, kALrefuseflask_3d, kALremedy_3d, kALremedytip_3d,
kALremedytip_3d, kALreturn_3d, kALright_3d, kALscare_3d, kALscared_3d, kALreturn_3d, kALright_3d, kALscare_3d, kALscared_3d, kALsleepy_3d,
kALsleepy_3d, kALslope_clftop_3d, kALslope_stream_3d, kALsong3_3d, kALspider_3d, kALslope_clftop_3d, kALslope_stream_3d, kALsong3_3d, kALspider_3d, kALspirit_3d,
kALspirit_3d, kALstalk_3d, kALstick_3d, kALstickpin_3d, kALsticktest1_3d, kALstalk_3d, kALstick_3d, kALstickpin_3d, kALsticktest1_3d, kALsticktest2_3d,
kALsticktest2_3d, kALsticktest4_3d, kALsticktip_3d, kALstream1_3d, kALstream2_3d, kALsticktest4_3d, kALsticktip_3d, kALstream1_3d, kALstream2_3d, kALstream_path_3d,
kALstream_path_3d, kALstream_slope_3d, kALstuckpin_3d, kALsunset_3d, kALswing_3d, kALstream_slope_3d, kALstuckpin_3d, kALsunset_3d, kALswing_3d, kALswingtip_3d,
kALswingtip_3d, kALtakecage_3d, kALtakecb_3d, kALtakecheese_3d, kALtakechs_3d, kALtakecage_3d, kALtakecb_3d, kALtakecheese_3d, kALtakechs_3d, kALtakeit_3d,
kALtakeit_3d, kALtaketest1_3d, kALtaketest2_3d, kALtalknat_3d, kALtalktest1_3d, kALtaketest1_3d, kALtaketest2_3d, kALtalknat_3d, kALtalktest1_3d, kALtalktest2_3d,
kALtalktest2_3d, kALtalkweb_3d, kALtied_3d, kALtievine_3d, kALtrapped_3d, kALtalkweb_3d, kALtied_3d, kALtievine_3d, kALtrapped_3d, kALturn_cave_3d,
kALturn_cave_3d, kALturn_village_3d, kALuntie_3d, kALuntie_vine_3d, kALup_3d, kALturn_village_3d, kALuntie_3d, kALuntie_vine_3d, kALup_3d, kALvillage_camp_l_3d,
kALvillage_camp_l_3d, kALvillage_camp_r_3d, kALvillage_path_3d, kALvillage_thing_3d, kALvillage_turn_3d, kALvillage_camp_r_3d, kALvillage_path_3d, kALvillage_thing_3d, kALvillage_turn_3d, kALvine_3d,
kALvine_3d, kALwarn_3d, kALwaterfall_3d, kALwaternofall_3d, kALwbase_garden_3d, kALwarn_3d, kALwaterfall_3d, kALwaternofall_3d, kALwbase_garden_3d, kALwbase_wfall_3d,
kALwbase_wfall_3d, kALweb_3d, kALweb_crash_3d, kALweb_path_3d, kALwebtest2_3d, kALweb_3d, kALweb_crash_3d, kALweb_path_3d, kALwebtest2_3d, kALwfall_cave_3d,
kALwfall_cave_3d, kALwfall_clf_3d, kALwfall_wbase_3d, kALwfallb_cave_3d, kALwfallb_clf_3d, kALwfall_clf_3d, kALwfall_wbase_3d, kALwfallb_cave_3d, kALwfallb_clf_3d, kALwfallb_wbase_3d,
kALwfallb_wbase_3d, kALwrong_3d kALwrong_3d,
// Added by Strangerke for Mouse support
kALhorizdn_3d, kALhorizon_3d, kALhorizup_3d
}; };
// Enumerate picture files. All screens must have an entry here, in order // Enumerate picture files. All screens must have an entry here, in order
@ -1405,47 +1410,47 @@ enum objid_1w {
}; };
enum objid_2w { enum objid_2w {
/* HERO_2w,*/ PENNY_2w = 1, SMOKE_2w, DOOR1_2w, DOOR5_2w, DOOR6_2w, /* HERO_2w,*/ PENNY_2w = 1, SMOKE_2w, DOOR1_2w, DOOR5_2w, DOOR6_2w,
LIPS_2w, MAID_2w, HALLGO_2w, PENNYLIE_2w, PENFALL_2w, BOOKCASE_2w, LIPS_2w, MAID_2w, HALLGO_2w, PENNYLIE_2w, PENFALL_2w, BOOKCASE_2w,
BOOK_2w, KEYHOLE_2w, BED_2w, PANEL_2w, CUPBOARD1_2w, BIRD_2w, BOOK_2w, KEYHOLE_2w, BED_2w, PANEL_2w, CUPBOARD1_2w, BIRD_2w,
MATCHES_2w, DUMB1_2w, PHONE_2w, BLOTPAD_2w, DRAWER_2w, SWITCH_2w, MATCHES_2w, DUMB1_2w, PHONE_2w, BLOTPAD_2w, DRAWER_2w, SWITCH_2w,
KEYHOLE2_2w, MURDER_2w, BALLOON_2w, BLOCKS_2w, PLAYPEN_2w, WINDOW1_2w, KEYHOLE2_2w, MURDER_2w, BALLOON_2w, BLOCKS_2w, PLAYPEN_2w, WINDOW1_2w,
WINDOW2_2w, DUMB2_2w, CUPBOARD2_2w, GARLIC_2w, KDOOR_2w, KWINDOW_2w, WINDOW2_2w, DUMB2_2w, CUPBOARD2_2w, GARLIC_2w, KDOOR_2w, KWINDOW_2w,
GARDENER_2w, REDBUTTON_2w, YELLOWBUTTON_2w, GREENBUTTON_2w, BLUEBUTTON_2w, BUTTON_2w, GARDENER_2w, REDBUTTON_2w, YELLOWBUTTON_2w, GREENBUTTON_2w, BLUEBUTTON_2w, BUTTON_2w,
SHEDLIGHT_2w, TOOLS_2w, MAGNIFY_2w, FLY1_2w, FLY2_2w, FLY3_2w, SHEDLIGHT_2w, TOOLS_2w, MAGNIFY_2w, FLY1_2w, FLY2_2w, FLY3_2w,
LEAF1_2w, LEAF2_2w, LEAF3_2w, LEAF4_2w, LEAF5_2w, LEAF6_2w, LEAF1_2w, LEAF2_2w, LEAF3_2w, LEAF4_2w, LEAF5_2w, LEAF6_2w,
LEAF7_2w, LEAF8_2w, GATELIGHT_2w, GATES_2w, CATNIP_2w, BRIDGE_2w, LEAF7_2w, LEAF8_2w, GATELIGHT_2w, GATES_2w, CATNIP_2w, BRIDGE_2w,
ZAPPER_2w, BUG1_2w, BUG2_2w, BUG3_2w, BUG4_2w, BUG5_2w, ZAPPER_2w, BUG1_2w, BUG2_2w, BUG3_2w, BUG4_2w, BUG5_2w,
OLDMAN_2w, WELL_2w, SNAKE_2w, TARDIS_2w, GRAFFITI_2w, STICK_2w, OLDMAN_2w, WELL_2w, SNAKE_2w, TARDIS_2w, GRAFFITI_2w, STICK_2w,
DYNAMITE_2w, KENNEL_2w, DOG_2w, ROCKFALL_2w, ROPE1_2w, ROPE2_2w, DYNAMITE_2w, KENNEL_2w, DOG_2w, ROCKFALL_2w, ROPE1_2w, ROPE2_2w,
OILLAMP_2w, BANANA_2w, HOLE_2w, GENIE_2w, SAFE_2w, WILL_2w, OILLAMP_2w, BANANA_2w, HOLE_2w, GENIE_2w, SAFE_2w, WILL_2w,
MOUSEHOLE_2w, TWINDOW_2w, PICTURE3_2w, WINDOW4_2w, WINDOW5_2w, WINDOW6_2w, MOUSEHOLE_2w, TWINDOW_2w, PICTURE3_2w, WINDOW4_2w, WINDOW5_2w, WINDOW6_2w,
PLANT3_2w, CUPBOARD3_2w, PDOOR_2w, ALBUM_2w, CAT_2w, PWINDOW1_2w, PLANT3_2w, CUPBOARD3_2w, PDOOR_2w, ALBUM_2w, CAT_2w, PWINDOW1_2w,
PWINDOW2_2w, POST_2w, DOOR4_2w, PAPER_2w, PENCIL_2w, CHUTE_2w, PWINDOW2_2w, POST_2w, DOOR4_2w, PAPER_2w, PENCIL_2w, CHUTE_2w,
BOX_2w, DOOR2_2w, DOOR3_2w, DOOR7_2w, MIRROR_2w, HARRY_2w, BOX_2w, DOOR2_2w, DOOR3_2w, DOOR7_2w, MIRROR_2w, HARRY_2w,
OWINDOW_2w, OPICTURE_2w, OPLANT_2w, ORGAN2_2w, HESTER_2w, LETTER_2w, OWINDOW_2w, OPICTURE_2w, OPLANT_2w, ORGAN2_2w, HESTER_2w, LETTER_2w,
BOOKCASE2_2w, PICTURE2_2w, PLANT2_2w, WINDOW3_2w, DOCTOR_2w, ROBOT_2w, BOOKCASE2_2w, PICTURE2_2w, PLANT2_2w, WINDOW3_2w, DOCTOR_2w, ROBOT_2w,
SCREW_2w, DOOR8_2w, DOOR9_2w, DOOR10_2w, HPICTURE_2w, HPLANT_2w, SCREW_2w, DOOR8_2w, DOOR9_2w, DOOR10_2w, HPICTURE_2w, HPLANT_2w,
COOK_2w, COOKB_2w, COP_2w, HORACE_2w, BELL_2w, GUN_2w, COOK_2w, COOKB_2w, COP_2w, HORACE_2w, BELL_2w, GUN_2w,
BOTTLE_2w, LASTOBJ_2w BOTTLE_2w, LASTOBJ_2w
}; };
enum objid_3w { enum objid_3w {
/* HERO,*/ WHERO_3w = 1, PENNY_3w, PENNYLIE_3w, LIPS_3w, INPLANE_3w, DOOR_3w, /* HERO,*/ WHERO_3w = 1, PENNY_3w, PENNYLIE_3w, LIPS_3w, INPLANE_3w, DOOR_3w,
PLANT1_3w, INPLANE2_3w, WATER1_3w, WATER2_3w, WATER3_3w, WATER4_3w, WATER5_3w, PLANT1_3w, INPLANE2_3w, WATER1_3w, WATER2_3w, WATER3_3w, WATER4_3w, WATER5_3w,
WATER6_3w, CLAY_3w, NEEDLES_3w, FLASK_3w, BOUILLON_3w, CHEESE_3w, SPIDER_3w, WATER6_3w, CLAY_3w, NEEDLES_3w, FLASK_3w, BOUILLON_3w, CHEESE_3w, SPIDER_3w,
PLANT3_3w, PLANT4_3w, BLOCK1_3w, BLOCK2_3w, BLOCK3_3w, BLOCK4_3w, VINE_3w, PLANT3_3w, PLANT4_3w, BLOCK1_3w, BLOCK2_3w, BLOCK3_3w, BLOCK4_3w, VINE_3w,
VINE1_3w, VINE2_3w, SWINGER_3w, STEPS_3w, DOCTOR_3w, DOCLIE_3w, CDOOR_3w, VINE1_3w, VINE2_3w, SWINGER_3w, STEPS_3w, DOCTOR_3w, DOCLIE_3w, CDOOR_3w,
MOUSE_3w, MOUSHOLE_3w, CAGE_3w, POST_FIRE1_3w, POST_FIRE2_3w, CAMPFIRE_3w, HUTFIRE_3w, MOUSE_3w, MOUSHOLE_3w, CAGE_3w, POST_FIRE1_3w, POST_FIRE2_3w, CAMPFIRE_3w, HUTFIRE_3w,
POT_3w, WINDOW_3w, NAT1_3w, NAT2_3w, NAT3_3w, NATB_3w, NATG_3w, POT_3w, WINDOW_3w, NAT1_3w, NAT2_3w, NAT3_3w, NATB_3w, NATG_3w,
BLOWPIPE_3w, HUT_3w, ELEPHANT_3w, E_EYES_3w, HERO_OLD_3w, AIRCRAFT_3w, SCROLL_3w, BLOWPIPE_3w, HUT_3w, ELEPHANT_3w, E_EYES_3w, HERO_OLD_3w, AIRCRAFT_3w, SCROLL_3w,
CRYSTAL_3w, ROCK_3w, PLANT2_3w, GHOST_3w, BELL_3w, BOOK_3w, CANDLE_3w, CRYSTAL_3w, ROCK_3w, PLANT2_3w, GHOST_3w, BELL_3w, BOOK_3w, CANDLE_3w,
VINE3_3w, RUSH1_3w, RUSH2_3w, O_EYE_3w, FIRE_4_3w, MOUTH_3w, POLE_3w, VINE3_3w, RUSH1_3w, RUSH2_3w, O_EYE_3w, FIRE_4_3w, MOUTH_3w, POLE_3w,
PLANT5_3w, LASTOBJ_3w PLANT5_3w, LASTOBJ_3w
}; };
enum objid_1d { enum objid_1d {
/* HERO,*/ DOOR1_1d = 1, EYES1_1d, EYES2_1d, BAT_1d, /* HERO,*/ DOOR1_1d = 1, EYES1_1d, EYES2_1d, BAT_1d,
PKIN_1d, KEY_1d, DOOR2_1d, DOOR3_1d, EYES3_1d, PKIN_1d, KEY_1d, DOOR2_1d, DOOR3_1d, EYES3_1d,
EYES4_1d, CANDLE_1d, CUPBOARD_1d, KNIFE_1d, WHISTLE_1d, EYES4_1d, CANDLE_1d, CUPBOARD_1d, KNIFE_1d, WHISTLE_1d,
WARD_1d, WDOORL_1d, WDOORR_1d, MASK_1d, MONKEY_1d, WARD_1d, WDOORL_1d, WDOORR_1d, MASK_1d, MONKEY_1d,
@ -1459,7 +1464,7 @@ enum objid_1d {
}; };
enum objid_2d { enum objid_2d {
/* HERO,*/ PENNY_2d = 1, SMOKE_2d, DOOR1_2d, LIPS_2d, /* HERO,*/ PENNY_2d = 1, SMOKE_2d, DOOR1_2d, LIPS_2d,
MAID_2d, PENNYLIE_2d, PENFALL_2d, BOOKCASE_2d, BOOK_2d, MAID_2d, PENNYLIE_2d, PENFALL_2d, BOOKCASE_2d, BOOK_2d,
KEYHOLE_2d, PANEL_2d, CUPBOARD1_2d, BIRD_2d, MATCHES_2d, KEYHOLE_2d, PANEL_2d, CUPBOARD1_2d, BIRD_2d, MATCHES_2d,
DUMB1_2d, MURDER_2d, BALLOON_2d, DUMB2_2d, CUPBOARD2_2d, DUMB1_2d, MURDER_2d, BALLOON_2d, DUMB2_2d, CUPBOARD2_2d,
@ -1480,7 +1485,7 @@ enum objid_2d {
}; };
enum objid_3d { enum objid_3d {
/* HERO,*/ WHERO_3d = 1, PENNY_3d, PENNYLIE_3d, LIPS_3d, /* HERO,*/ WHERO_3d = 1, PENNY_3d, PENNYLIE_3d, LIPS_3d,
INPLANE_3d, DOOR_3d, PLANT1_3d, INPLANE2_3d, WATER1_3d, INPLANE_3d, DOOR_3d, PLANT1_3d, INPLANE2_3d, WATER1_3d,
WATER2_3d, WATER3_3d, WATER4_3d, CLAY_3d, NEEDLES_3d, WATER2_3d, WATER3_3d, WATER4_3d, CLAY_3d, NEEDLES_3d,
FLASK_3d, BOUILLON_3d, CHEESE_3d, SPIDER_3d, PLANT3_3d, FLASK_3d, BOUILLON_3d, CHEESE_3d, SPIDER_3d, PLANT3_3d,

View File

@ -604,6 +604,9 @@ const char *textData_3d[] = {
"The book is old and very worn.\nThe pages although yellow with\nage, still have discernible\nwriting on them. You feel\nthe book has hidden powers.", "The book is old and very worn.\nThe pages although yellow with\nage, still have discernible\nwriting on them. You feel\nthe book has hidden powers.",
//50 //50
"The candle stick is golden and\nvery heavy. The flickering of\nthe candle feels comforting,\neven in the daylight.", "The candle stick is golden and\nvery heavy. The flickering of\nthe candle feels comforting,\neven in the daylight.",
//Added by Strangerke to improve mouse support
"Poor Penelope doesn't\nlook very well!",
//
".", ".",
".O4L1C.C.C.", ".O4L1C.C.C.",
".O1L2ECEG^C.vBL6^CvGAL2G.FL6E.", ".O1L2ECEG^C.vBL6^CvGAL2G.FL6E.",
@ -612,8 +615,8 @@ const char *textData_3d[] = {
".O1L1AbAAbFAbAAbFAbAAbFAbAAbFAbAAbFAbAAbFAbAAbFAbAAbF.", ".O1L1AbAAbFAbAAbFAbAAbFAbAAbFAbAAbFAbAAbFAbAAbFAbAAbF.",
".O0L1CC#CC#CC#CC#CC#CC#CC#CC#CC#.", ".O0L1CC#CC#CC#CC#CC#CC#CC#CC#CC#.",
".O1L3^CvL1G.GL3G#L1G.....L1B..^C.", ".O1L3^CvL1G.GL3G#L1G.....L1B..^C.",
"O3L1E.vE^EF.vF^FE.vE^EF.vF^FE.F.G.A.G.A.B.^C.D.DbCvB.^D.Db.C.E.F.L4EFL6E.",
// 60 // 60
"O3L1E.vE^EF.vF^FE.vE^EF.vF^FE.F.G.A.G.A.B.^C.D.DbCvB.^D.Db.C.E.F.L4EFL6E.",
"O2L4G^CvGEL6CL2AGEL4GL9D.", "O2L4G^CvGEL6CL2AGEL4GL9D.",
".O2L1AAbAA#BAL2G^CvGL1^CvC.", ".O2L1AAbAA#BAL2G^CvGL1^CvC.",
".O2L1DGB^D.vB^L5D.", ".O2L1DGB^D.vB^L5D.",
@ -1357,7 +1360,8 @@ const char *vMagic_1w[] = {"sesame", "abraca", "xyzzy", "zelda", ""};// Befo
const char *vRude_1w[] = {"fuck", "fart", ""}; const char *vRude_1w[] = {"fuck", "fart", ""};
const char *vStroke_1w[] = {"stroke", ""}; const char *vStroke_1w[] = {"stroke", ""};
const char *vHide_1w[] = {"hide", "behind", ""}; const char *vHide_1w[] = {"hide", "behind", ""};
// Added by Strangerke to ease usage of hugo.dat
// Added by Strangerke to ease usage of hugo.dat
const char *vBolt_1w[] = {"bolt", "~", "bolt", ""}; const char *vBolt_1w[] = {"bolt", "~", "bolt", ""};
const char *vHero_1w[] = {"hero", "self", "Hugo", "hugo", ""}; const char *vHero_1w[] = {"hero", "self", "Hugo", "hugo", ""};
@ -2125,7 +2129,6 @@ hotspot_t hotspots_2d[] = {
hotspot_t hotspots_3d[] = { hotspot_t hotspots_3d[] = {
{CRASH_3d, 0, 163, 30, 190, kALcrash_web_3d, 11, 176, Common::KEYCODE_LEFT}, {CRASH_3d, 0, 163, 30, 190, kALcrash_web_3d, 11, 176, Common::KEYCODE_LEFT},
{CRASH_3d, 65, 148, 309, 158, kALhorizon_3d, -1, -1, -1},
{CRASH_3d, 164, 102, 205, 144, kALplane_3d, 178, 153, Common::KEYCODE_UP}, // Added by Strangerke to enter plane cockpit {CRASH_3d, 164, 102, 205, 144, kALplane_3d, 178, 153, Common::KEYCODE_UP}, // Added by Strangerke to enter plane cockpit
{PLANE_3d, 120, 126, 220, 170, kALexit_3d, 0, 0, Common::KEYCODE_DOWN}, // Added by Strangerke to exit plane cockpit {PLANE_3d, 120, 126, 220, 170, kALexit_3d, 0, 0, Common::KEYCODE_DOWN}, // Added by Strangerke to exit plane cockpit
{WEB_3d, 296, 73, 319, 190, kALweb_crash_3d, 307, 149, Common::KEYCODE_RIGHT}, {WEB_3d, 296, 73, 319, 190, kALweb_crash_3d, 307, 149, Common::KEYCODE_RIGHT},
@ -5050,14 +5053,14 @@ const uint16 *screenActs_2d[] = {
0, 0, 0 0, 0, 0
}; };
uint16 s0acts_3d[] = {kALcrashStory_3d, 0}; // Crash site uint16 s0acts_3d[] = {kALcrashStory_3d, kALhorizon_3d, 0}; // Crash site
uint16 s1acts_3d[] = {kALweb_3d, 0}; // Spider's web uint16 s1acts_3d[] = {kALweb_3d, 0}; // Spider's web
uint16 s2acts_3d[] = {kALbridgetip_3d, 0}; // Bridge1 uint16 s2acts_3d[] = {kALbridgetip_3d, 0}; // Bridge1
uint16 s13acts_3d[] = {kALhut_in_3d, kALmouse_3d, 0}; // In hut uint16 s13acts_3d[] = {kALhut_in_3d, kALmouse_3d, 0}; // In hut
uint16 s15acts_3d[] = {kALoldman_3d, kALflash_3d, 0}; // Oldman uint16 s15acts_3d[] = {kALoldman_3d, kALflash_3d, 0}; // Oldman
uint16 s18acts_3d[] = {kALcamp_3d, 0}; // At camp uint16 s18acts_3d[] = {kALcamp_3d, 0}; // At camp
uint16 s19acts_3d[] = {kALsunset_3d, 0}; // Bye bye! uint16 s19acts_3d[] = {kALsunset_3d, 0}; // Bye bye!
uint16 s23acts_3d[] = {kALpath_3d, 0}; // Elephant uint16 s23acts_3d[] = {kALpath_3d, 0}; // Elephant
const uint16 *screenActs_3d[] = { const uint16 *screenActs_3d[] = {
/* 0 */ s0acts_3d, s1acts_3d, s2acts_3d, 0, 0, /* 0 */ s0acts_3d, s1acts_3d, s2acts_3d, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -5472,52 +5475,52 @@ object_t objects_1d[] = {
// Screen 2: (Bedroom 1) // Screen 2: (Bedroom 1)
// Note how wardrobe doors are catered for: The wardrobe has a name but no images, // Note how wardrobe doors are catered for: The wardrobe has a name but no images,
// the right and left doors have no reference but are cycled by the wardrobe action list // the right and left doors have no reference but are cycled by the wardrobe action list
{kNWard_1d, kDTtward_1d, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 1, 4, 4, 30, 2, 172, 113, 90, 90, 0, 0, 0, 1, kCMDward_1d, 0, 0, 1, FOREGROUND, 168, 117, Common::KEYCODE_UP, 0, 0, 0, 0}, {kNWard_1d, kDTtward_1d, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 1, 4, 4, 30, 2, 172, 113, 90, 90, 0, 0, 0, 1, kCMDward_1d, 0, 0, 1, FOREGROUND, 168, 117, Common::KEYCODE_UP, 0, 0, 0, 0},
{kNWdoorl_1d, 0, 0, AUTO, 0, 0, 0, THING4, NOT_CYCLING, 1, 4, 4, 0, 2, 150, 56, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNWdoorl_1d, 0, 0, AUTO, 0, 0, 0, THING4, NOT_CYCLING, 1, 4, 4, 0, 2, 150, 56, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNWdoorr_1d, 0, 0, AUTO, 0, 0, 0, THING4, NOT_CYCLING, 1, 4, 4, 0, 2, 174, 56, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNWdoorr_1d, 0, 0, AUTO, 0, 0, 0, THING4, NOT_CYCLING, 1, 4, 4, 0, 2, 174, 56, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNMask_1d, kDTtmask_1d, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 10, 2, 155, 100, 90, 90, 0, 0, 4, 7, kCMDmask_1d, 0, 0, 0, FLOATING, -1, 0, 0, 0, 0, 0, 0}, {kNMask_1d, kDTtmask_1d, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 10, 2, 155, 100, 90, 90, 0, 0, 4, 7, kCMDmask_1d, 0, 0, 0, FLOATING, -1, 0, 0, 0, 0, 0, 0},
{kNMonkey_1d, 0, 0, AUTO, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 2, 229, 144, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNMonkey_1d, 0, 0, AUTO, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 2, 229, 144, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
// Screen 3: (Dining room) // Screen 3: (Dining room)
{kNButler_1d, kDTtbutler_1d, 0, AUTO, 0, 0, kALbutler_1d, PERSON, NOT_CYCLING, 0, 0, 0, DX, 3, 70, 78, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNButler_1d, kDTtbutler_1d, 0, AUTO, 0, 0, kALbutler_1d, PERSON, NOT_CYCLING, 0, 0, 0, DX, 3, 70, 78, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNChop_1d, kDTtchop_1d, 0, AUTO, 0, 0, 0, THING1, INVISIBLE, 0, 0, 0, 20, 3, 69, 161, 90, 90, 0, 0, 8, 7, kCMDchop_1d, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNChop_1d, kDTtchop_1d, 0, AUTO, 0, 0, 0, THING1, INVISIBLE, 0, 0, 0, 20, 3, 69, 161, 90, 90, 0, 0, 8, 7, kCMDchop_1d, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNRedeyes_1d, 0, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 0, 3, 212, 108, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FOREGROUND, 0, 0, 0, 0, 0, 0, 0}, {kNRedeyes_1d, 0, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 0, 3, 212, 108, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FOREGROUND, 0, 0, 0, 0, 0, 0, 0},
{kNLips_1d, 0, 0, AUTO, 0, 0, 0, THING2, NOT_CYCLING, 0, 1, 1, 0, 3, 113, 105, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FOREGROUND, 0, 0, 0, 0, 0, 0, 0}, {kNLips_1d, 0, 0, AUTO, 0, 0, 0, THING2, NOT_CYCLING, 0, 1, 1, 0, 3, 113, 105, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FOREGROUND, 0, 0, 0, 0, 0, 0, 0},
{kNArm_1d, 0, 0, AUTO, 0, 0, 0, THING2, NOT_CYCLING, 0, 5, 5, 0, 3, 166, 122, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNArm_1d, 0, 0, AUTO, 0, 0, 0, THING2, NOT_CYCLING, 0, 5, 5, 0, 3, 166, 122, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNHdlshero_1d, 0, 0, AUTO, 0, 0, 0, THING1, INVISIBLE, 0, 0, 0, 10, 0, 24, 177, 90, 90, 0, 0, 0, 7, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNHdlshero_1d, 0, 0, AUTO, 0, 0, 0, THING1, INVISIBLE, 0, 0, 0, 10, 0, 24, 177, 90, 90, 0, 0, 0, 7, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
// Screen 6: (Garden) // Screen 6: (Garden)
{kNDoor_1d, kDTtdoor_1d, 0, AUTO, 0, 0, 0, THING4, NOT_CYCLING, 1, 4, 4, 16, 6, 226, 58, 90, 90, 0, 0, 0, 1, kCMDdoor4_1d, 0, 0, 0, FLOATING, 224, 104, Common::KEYCODE_UP, 0, 0, 0, 0}, {kNDoor_1d, kDTtdoor_1d, 0, AUTO, 0, 0, 0, THING4, NOT_CYCLING, 1, 4, 4, 16, 6, 226, 58, 90, 90, 0, 0, 0, 1, kCMDdoor4_1d, 0, 0, 0, FLOATING, 224, 104, Common::KEYCODE_UP, 0, 0, 0, 0},
{kNShed_1d, 0, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 0, 0, 0, 60, 6, 277, 39, 214, 37, 0, 0, 0, 1, kCMDshed_1d, 0, 0, 1, FOREGROUND, 213, 103, Common::KEYCODE_RIGHT, 0, 0, 0, 0}, {kNShed_1d, 0, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 0, 0, 0, 60, 6, 277, 39, 214, 37, 0, 0, 0, 1, kCMDshed_1d, 0, 0, 1, FOREGROUND, 213, 103, Common::KEYCODE_RIGHT, 0, 0, 0, 0},
{kNOilcan_1d, kDTtoilcan_1d, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 0, 0, 0, 40, 6, 240, 65, 90, 90, 0, 0, 4, 3, kCMDoilcan_1d, 0, 0, 0, FOREGROUND, 0, 0, 0, 0, 0, 0, 0}, {kNOilcan_1d, kDTtoilcan_1d, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 0, 0, 0, 40, 6, 240, 65, 90, 90, 0, 0, 4, 3, kCMDoilcan_1d, 0, 0, 0, FOREGROUND, 0, 0, 0, 0, 0, 0, 0},
// Screen 7: (Store room) // Screen 7: (Store room)
{kNDog_1d, kDTtdog_1d, 0, AUTO, 0, 0, kALdoggy_1d, ANIMAL, NOT_CYCLING, 0, 0, 0, 20, 7, 105, 119, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNDog_1d, kDTtdog_1d, 0, AUTO, 0, 0, kALdoggy_1d, ANIMAL, NOT_CYCLING, 0, 0, 0, 20, 7, 105, 119, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNCarpet_1d, 0, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 50, 7, 191, 142, 90, 90, 0, 0, 0, 0, kCMDcarpet_1d, 0, 0, 0, BACKGROUND, 234, 153, Common::KEYCODE_LEFT, 0, 0, 0, 0}, {kNCarpet_1d, 0, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 50, 7, 191, 142, 90, 90, 0, 0, 0, 0, kCMDcarpet_1d, 0, 0, 0, BACKGROUND, 234, 153, Common::KEYCODE_LEFT, 0, 0, 0, 0},
{kNTrap_1d, 0, 0, AUTO, 0, 0, 0, THING4, INVISIBLE, 0, 2, 2, 20, 7, 216, 140, 90, 90, 0, 0, 0, 1, kCMDtrap_1d, 0, 0, 0, BACKGROUND, 240, 152, Common::KEYCODE_LEFT, 0, 0, 0, 0}, {kNTrap_1d, 0, 0, AUTO, 0, 0, 0, THING4, INVISIBLE, 0, 2, 2, 20, 7, 216, 140, 90, 90, 0, 0, 0, 1, kCMDtrap_1d, 0, 0, 0, BACKGROUND, 240, 152, Common::KEYCODE_LEFT, 0, 0, 0, 0},
{kNBolt_1d, 0, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 0, 0, 0, 20, 7, 220, 145, 237, 151, 0, 0, 0, 1, kCMDbolt_1d, 0, 0, 0, FOREGROUND, 240, 152, Common::KEYCODE_LEFT, 0, 0, 0, 0}, {kNBolt_1d, 0, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 0, 0, 0, 20, 7, 220, 145, 237, 151, 0, 0, 0, 1, kCMDbolt_1d, 0, 0, 0, FOREGROUND, 240, 152, Common::KEYCODE_LEFT, 0, 0, 0, 0},
{kNHerodead_1d, 0, 0, AUTO, 0, 0, 0, THING1, INVISIBLE, 0, 0, 0, 10, 0, 24, 177, 90, 90, 0, 0, 0, 7, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNHerodead_1d, 0, 0, AUTO, 0, 0, 0, THING1, INVISIBLE, 0, 0, 0, 10, 0, 24, 177, 90, 90, 0, 0, 0, 7, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
// Screen 9: (Batcave) // Screen 9: (Batcave)
{kNBat_1d, kDTtbat_1d, 0, AUTO, 0, 0, kALbats_1d, THING1, NOT_CYCLING, 0, 0, 0, 16, 9, 65, 25, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNBat_1d, kDTtbat_1d, 0, AUTO, 0, 0, kALbats_1d, THING1, NOT_CYCLING, 0, 0, 0, 16, 9, 65, 25, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNBat_1d, kDTtbat_1d, 0, AUTO, 0, 0, kALbats_1d, THING1, NOT_CYCLING, 0, 0, 0, 16, 9, 55, 65, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNBat_1d, kDTtbat_1d, 0, AUTO, 0, 0, kALbats_1d, THING1, NOT_CYCLING, 0, 0, 0, 16, 9, 55, 65, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNBat_1d, kDTtbat_1d, 0, AUTO, 0, 0, kALbats_1d, THING1, NOT_CYCLING, 0, 0, 0, 16, 9, 55, 120, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNBat_1d, kDTtbat_1d, 0, AUTO, 0, 0, kALbats_1d, THING1, NOT_CYCLING, 0, 0, 0, 16, 9, 55, 120, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNBat_1d, kDTtbat_1d, 0, AUTO, 0, 0, kALbats_1d, THING1, NOT_CYCLING, 0, 0, 0, 16, 9, 55, 130, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNBat_1d, kDTtbat_1d, 0, AUTO, 0, 0, kALbats_1d, THING1, NOT_CYCLING, 0, 0, 0, 16, 9, 55, 130, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
// Screen 10: (Mummy room) // Screen 10: (Mummy room)
{kNMummy_1d, 0, 0, AUTO, 0, 0, kALmummy_1d, PERSON, NOT_CYCLING, 0, 0, 0, DX, 10, 256, 77, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNMummy_1d, 0, 0, AUTO, 0, 0, kALmummy_1d, PERSON, NOT_CYCLING, 0, 0, 0, DX, 10, 256, 77, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNMdoor_1d, 0, 0, AUTO, 0, 0, 0, THING4, NOT_CYCLING, 1, 4, 4, 0, 10, 258, 55, 90, 90, 0, 0, 0, 1, kCMDdoor4_1d, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNMdoor_1d, 0, 0, AUTO, 0, 0, 0, THING4, NOT_CYCLING, 1, 4, 4, 0, 10, 258, 55, 90, 90, 0, 0, 0, 1, kCMDdoor4_1d, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNGold_1d, kDTtgold_1d, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 20, 10, 208, 152, 90, 90, 0, 0, 10, 7, kCMDgold_1d, 0, 0, 0, FLOATING, -1, 0, 0, 0, 0, 0, 0}, {kNGold_1d, kDTtgold_1d, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 20, 10, 208, 152, 90, 90, 0, 0, 10, 7, kCMDgold_1d, 0, 0, 0, FLOATING, -1, 0, 0, 0, 0, 0, 0},
// Screen 11: (Lakeroom) // Screen 11: (Lakeroom)
{kNBoat_1d, kDTtboat_1d, 0, AUTO, 0, 0, 0, THING2c, NOT_CYCLING, 0, 0, 0, 30, 11, 230, 118, 90, 90, 0, 0, 0, 1, kCMDboat_1d, 0, 0, 1, FLOATING, 250, 150, Common::KEYCODE_UP, 0, 0, 0, 0}, {kNBoat_1d, kDTtboat_1d, 0, AUTO, 0, 0, 0, THING2c, NOT_CYCLING, 0, 0, 0, 30, 11, 230, 118, 90, 90, 0, 0, 0, 1, kCMDboat_1d, 0, 0, 1, FLOATING, 250, 150, Common::KEYCODE_UP, 0, 0, 0, 0},
{kNRope_1d, kDTtrope_1d, 0, AUTO, 0, 0, 0, THING2c, NOT_CYCLING, 0, 0, 0, 30, 11, 220, 132, 90, 90, 0, 0, 0, 1, kCMDrope_1d, 0, 0, 0, FLOATING, 209, 153, Common::KEYCODE_UP, 0, 0, 0, 0}, {kNRope_1d, kDTtrope_1d, 0, AUTO, 0, 0, 0, THING2c, NOT_CYCLING, 0, 0, 0, 30, 11, 220, 132, 90, 90, 0, 0, 0, 1, kCMDrope_1d, 0, 0, 0, FLOATING, 209, 153, Common::KEYCODE_UP, 0, 0, 0, 0},
{kNOldman_1d, kDTtoldman_1d, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 30, 11, 160, 38, 90, 90, 0, 0, 0, 1, kCMDoldman_1d, 0, 0, 0, FLOATING, 150, 54, Common::KEYCODE_DOWN, 0, 0, 0, 0}, {kNOldman_1d, kDTtoldman_1d, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 30, 11, 160, 38, 90, 90, 0, 0, 0, 1, kCMDoldman_1d, 0, 0, 0, FLOATING, 150, 54, Common::KEYCODE_DOWN, 0, 0, 0, 0},
{kNWhero_1d, 0, 0, AUTO, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 11, 100, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNWhero_1d, 0, 0, AUTO, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 11, 100, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
// Screen 12: (Dead end) // Screen 12: (Dead end)
{kNGuard_1d, kDTtguard_1d, 0, AUTO, 0, 0, 0, THING2d, NOT_CYCLING, 0, 0, 0, -1, 12, 147, 39, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 133, 91, Common::KEYCODE_UP, 0, 0, 0, 0}, {kNGuard_1d, kDTtguard_1d, 0, AUTO, 0, 0, 0, THING2d, NOT_CYCLING, 0, 0, 0, -1, 12, 147, 39, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 133, 91, Common::KEYCODE_UP, 0, 0, 0, 0},
// Screen 15: (Laboratory) // Screen 15: (Laboratory)
{kNProf_1d, kDTtprof_1d, 0, AUTO, 0, 0, 0, PERSON2, CYCLE_FORWARD, 0, 0, 0, -1, 1, 150, 55, 90, 90, DX, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNProf_1d, kDTtprof_1d, 0, AUTO, 0, 0, 0, PERSON2, CYCLE_FORWARD, 0, 0, 0, -1, 1, 150, 55, 90, 90, DX, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNIgor_1d, kDTtigor_1d, 0, AUTO, 0, 0, 0, PERSON2, CYCLE_FORWARD, 0, 0, 0, -1, 15, 180, 122, 90, 90, DX, 0, 0, 1, kCMDigor_1d, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNIgor_1d, kDTtigor_1d, 0, AUTO, 0, 0, 0, PERSON2, CYCLE_FORWARD, 0, 0, 0, -1, 15, 180, 122, 90, 90, DX, 0, 0, 1, kCMDigor_1d, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNBung_1d, kDTtbung_1d, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 14, 15, 75, 145, 90, 90, 0, 0, 11, 7, kCMDbung_1d, 0, 0, 0, FLOATING, -1, 0, 0, 0, 0, 0, 0}, {kNBung_1d, kDTtbung_1d, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 14, 15, 75, 145, 90, 90, 0, 0, 11, 7, kCMDbung_1d, 0, 0, 0, FLOATING, -1, 0, 0, 0, 0, 0, 0},
{kNGdoor_1d, 0, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 30, 15, 59, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNGdoor_1d, 0, 0, AUTO, 0, 0, 0, THING1, NOT_CYCLING, 0, 0, 0, 30, 15, 59, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNSpachero_1d, 0, 0, AUTO, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 15, 100, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNSpachero_1d, 0, 0, AUTO, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 15, 100, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNFuzyhero_1d, 0, 0, AUTO, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 15, 100, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNFuzyhero_1d, 0, 0, AUTO, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 15, 100, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNArc_1d, 0, 0, AUTO, 0, 0, 0, THING2, CYCLE_FORWARD, 0, 0, 0, 0, 15, 106, 74, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0} {kNArc_1d, 0, 0, AUTO, 0, 0, 0, THING2, CYCLE_FORWARD, 0, 0, 0, 0, 15, 106, 74, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}
}; };
object_t objects_2d[] = { object_t objects_2d[] = {
@ -5647,12 +5650,8 @@ object_t objects_3d[] = {
// Common objects // Set Penny state to 3 to avoid story // Common objects // Set Penny state to 3 to avoid story
{kNHero_3d, kDTthero_3d, 0, USER, 0, 0, 0, PERSON, CYCLE_FORWARD, 0, 0, 0, 0, 0, 161, 110, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNHero_3d, kDTthero_3d, 0, USER, 0, 0, 0, PERSON, CYCLE_FORWARD, 0, 0, 0, 0, 0, 161, 110, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNWhero_3d, kDTthero_3d, 0, USER, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 0, 219, 133, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNWhero_3d, kDTthero_3d, 0, USER, 0, 0, 0, PERSON, INVISIBLE, 0, 0, 0, 0, 0, 219, 133, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
//#if NO_STORY
//{kNPenny_3d, kDTtpenny_3d, 0, AUTO, 0, 0, 0, PERSON, CYCLE_FORWARD, 0, 0, 0, -1, 0, 109, 110, 90, 90, 0, 0, 0, 1, 0, 0, 3, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
//#else
{kNPenny_3d, kDTtpenny_3d, 0, AUTO, 0, 0, 0, PERSON, CYCLE_FORWARD, 0, 0, 0, -1, 0, 109, 110, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNPenny_3d, kDTtpenny_3d, 0, AUTO, 0, 0, 0, PERSON, CYCLE_FORWARD, 0, 0, 0, -1, 0, 109, 110, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
//#endif {kNPennylie_3d, kDTtplie_3d, 0, AUTO, 0, 0, 0, THING1, INVISIBLE, 0, 0, 0, -1, WEB_3d, 75, 156, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNPennylie_3d, 0, 0, AUTO, 0, 0, 0, THING1, INVISIBLE, 0, 0, 0, -1, WEB_3d, 75, 156, 90, 90, 0, 0, 0, 1, 0, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
{kNLips_3d, 0, 0, AUTO, 0, 0, 0, THING2, INVISIBLE, 0, 0, 0, 0, 0, 186, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FOREGROUND, 0, 0, 0, 0, 0, 0, 0}, {kNLips_3d, 0, 0, AUTO, 0, 0, 0, THING2, INVISIBLE, 0, 0, 0, 0, 0, 186, 100, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, FOREGROUND, 0, 0, 0, 0, 0, 0, 0},
// CRASH site // CRASH site
{kNPlane_3d, kDTtplane_3d, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 0, 0, 0, -1, CRASH_3d, 184, 136, 90, 90, 0, 0, 0, 1, kCMDcplane_3d, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0}, {kNPlane_3d, kDTtplane_3d, 0, AUTO, 0, 0, 0, THING0, INVISIBLE, 0, 0, 0, -1, CRASH_3d, 184, 136, 90, 90, 0, 0, 0, 1, kCMDcplane_3d, 0, 0, 0, FLOATING, 0, 0, 0, 0, 0, 0, 0},
@ -10689,10 +10688,11 @@ actList actListArr_2d[] = {
int oldrsp_3d[] = {kSTOldrsp1_3d, -1}; int oldrsp_3d[] = {kSTOldrsp1_3d, -1};
int tiprsp_3d[] = {kSTTiprsp_3d, -1}; int tiprsp_3d[] = {kSTTiprsp_3d, -1};
act0 adarttest_3d = {ASCHEDULE, 0, kALdartsched_3d}; act0 adarttest_3d = {ASCHEDULE, 0, kALdartsched_3d};
act0 arepblink_3d = {ASCHEDULE, 60, kALeleblink_3d}; act0 arepblink_3d = {ASCHEDULE, 60, kALeleblink_3d};
act0 arepeatmouse_3d = {ASCHEDULE, 4, kALmouse_3d}; act0 arepeathorizon_3d = {ASCHEDULE, 2, kALhorizon_3d};
act0 arepflash_3d = {ASCHEDULE, 10, kALflash_3d}; act0 arepeatmouse_3d = {ASCHEDULE, 4, kALmouse_3d};
act0 arepflash_3d = {ASCHEDULE, 10, kALflash_3d};
act1 aappear1_3d = {START_OBJ, 1, HERO, 0, NOT_CYCLING}; act1 aappear1_3d = {START_OBJ, 1, HERO, 0, NOT_CYCLING};
act1 acamp2a_3d = {START_OBJ, 0, NAT2_3d, 0, CYCLE_FORWARD}; act1 acamp2a_3d = {START_OBJ, 0, NAT2_3d, 0, CYCLE_FORWARD};
@ -10754,8 +10754,6 @@ act1 awink2_3d = {START_OBJ, 16, O_EYE_3d, 1, CYCLE_BACKWARD};
act1 awink3_3d = {START_OBJ, 19, O_EYE_3d, 0, ALMOST_INVISIBLE}; act1 awink3_3d = {START_OBJ, 19, O_EYE_3d, 0, ALMOST_INVISIBLE};
act1 aappear_3d = {START_OBJ, 0, HERO, 0, NOT_CYCLING}; act1 aappear_3d = {START_OBJ, 0, HERO, 0, NOT_CYCLING};
act1 adisappear_3d = {START_OBJ, 0, HERO, 0, ALMOST_INVISIBLE}; act1 adisappear_3d = {START_OBJ, 0, HERO, 0, ALMOST_INVISIBLE};
act1 ahoriz1_3d = {START_OBJ, 0, HERO, 0, ALMOST_INVISIBLE};
act1 ahoriz4_3d = {START_OBJ, 1, HERO, 0, CYCLE_FORWARD};
act2 acamp0b_3d = {INIT_OBJXY, 0, NATG_3d, 128, 101}; act2 acamp0b_3d = {INIT_OBJXY, 0, NATG_3d, 128, 101};
act2 acamp3a_3d = {INIT_OBJXY, 0, NAT2_3d, 17, 97}; act2 acamp3a_3d = {INIT_OBJXY, 0, NAT2_3d, 17, 97};
@ -10842,7 +10840,6 @@ act5 acrash5_3d = {INIT_OBJVXY, 1, HERO, 0, DY};
act5 acrash6_3d = {INIT_OBJVXY, 4, PENNY_3d, DX, 0}; act5 acrash6_3d = {INIT_OBJVXY, 4, PENNY_3d, DX, 0};
act5 acrash7_3d = {INIT_OBJVXY, 4, HERO, 0, 0}; act5 acrash7_3d = {INIT_OBJVXY, 4, HERO, 0, 0};
act5 adead4_3d = {INIT_OBJVXY, 0, HERO, 0, 0}; act5 adead4_3d = {INIT_OBJVXY, 0, HERO, 0, 0};
act5 adn1_3d = {INIT_OBJVXY, 0, HERO, 0, DY};
act5 aenter4_3d = {INIT_OBJVXY, 0, MOUSE_3d, -DX, 0}; act5 aenter4_3d = {INIT_OBJVXY, 0, MOUSE_3d, -DX, 0};
act5 aex3_3d = {INIT_OBJVXY, 0, GHOST_3d, 0, 0}; act5 aex3_3d = {INIT_OBJVXY, 0, GHOST_3d, 0, 0};
act5 agot12_3d = {INIT_OBJVXY, 60, DOCTOR_3d, -DX, 0}; act5 agot12_3d = {INIT_OBJVXY, 60, DOCTOR_3d, -DX, 0};
@ -10872,7 +10869,6 @@ act5 ascare11_3d = {INIT_OBJVXY, 18, MOUSE_3d, DX * 4, -DY};
act5 ascare14_3d = {INIT_OBJVXY, 0, ELEPHANT_3d, -3, 0}; act5 ascare14_3d = {INIT_OBJVXY, 0, ELEPHANT_3d, -3, 0};
act5 ascare9_3d = {INIT_OBJVXY, 0, MOUSE_3d, -DX * 4, 0}; act5 ascare9_3d = {INIT_OBJVXY, 0, MOUSE_3d, -DX * 4, 0};
act5 aswing6_3d = {INIT_OBJVXY, 15, HERO, 0, 0}; act5 aswing6_3d = {INIT_OBJVXY, 15, HERO, 0, 0};
act5 aup1_3d = {INIT_OBJVXY, 0, HERO, 0, -DY};
act5 aweb11_3d = {INIT_OBJVXY, 50, SPIDER_3d, 0, 1}; act5 aweb11_3d = {INIT_OBJVXY, 50, SPIDER_3d, 0, 1};
act5 aweb12_3d = {INIT_OBJVXY, 75, SPIDER_3d, 0, -4}; act5 aweb12_3d = {INIT_OBJVXY, 75, SPIDER_3d, 0, -4};
act5 aweb13_3d = {INIT_OBJVXY, 80, SPIDER_3d, 0, 2}; act5 aweb13_3d = {INIT_OBJVXY, 80, SPIDER_3d, 0, 2};
@ -10957,7 +10953,7 @@ act9 acom6b_3d = {INIT_OBJSTATE, 0, NAT1_3d, 7};
act9 acom7b_3d = {INIT_OBJSTATE, 0, NAT1_3d, 8}; act9 acom7b_3d = {INIT_OBJSTATE, 0, NAT1_3d, 8};
act9 acom8b_3d = {INIT_OBJSTATE, 0, NAT1_3d, 9}; act9 acom8b_3d = {INIT_OBJSTATE, 0, NAT1_3d, 9};
act9 adart1_3d = {INIT_OBJSTATE, 0, BLOWPIPE_3d, 1}; act9 adart1_3d = {INIT_OBJSTATE, 0, BLOWPIPE_3d, 1};
act9 adn2_3d = {INIT_OBJSTATE, 0, HERO, 0}; act9 adn_3d = {INIT_OBJSTATE, 0, HERO, 0};
act9 adrink_3d = {INIT_OBJSTATE, 0, FLASK_3d, 0}; act9 adrink_3d = {INIT_OBJSTATE, 0, FLASK_3d, 0};
act9 adropcheese3_3d = {INIT_OBJSTATE, 0, CHEESE_3d, 1}; act9 adropcheese3_3d = {INIT_OBJSTATE, 0, CHEESE_3d, 1};
act9 aelewoken_3d = {INIT_OBJSTATE, 0, ELEPHANT_3d, 0}; act9 aelewoken_3d = {INIT_OBJSTATE, 0, ELEPHANT_3d, 0};
@ -10983,7 +10979,7 @@ act9 apause1_3d = {INIT_OBJSTATE, 0, NAT2_3d, 1};
act9 astartaction_3d = {INIT_OBJSTATE, 0, E_EYES_3d, 1}; act9 astartaction_3d = {INIT_OBJSTATE, 0, E_EYES_3d, 1};
act9 astick3_3d = {INIT_OBJSTATE, 0, DOCTOR_3d, 2}; act9 astick3_3d = {INIT_OBJSTATE, 0, DOCTOR_3d, 2};
act9 atakecheese1_3d = {INIT_OBJSTATE, 0, CHEESE_3d, 0}; act9 atakecheese1_3d = {INIT_OBJSTATE, 0, CHEESE_3d, 0};
act9 aup2_3d = {INIT_OBJSTATE, 0, HERO, 1}; act9 aup_3d = {INIT_OBJSTATE, 0, HERO, 1};
act9 avine6_3d = {INIT_OBJSTATE, 0, BLOCK1_3d, 1}; act9 avine6_3d = {INIT_OBJSTATE, 0, BLOCK1_3d, 1};
act9 aweb1_3d = {INIT_OBJSTATE, 0, PENNY_3d, 1}; act9 aweb1_3d = {INIT_OBJSTATE, 0, PENNY_3d, 1};
@ -11006,15 +11002,14 @@ act10 ascare7_3d = {INIT_PATH, 0, MOUSE_3d, AUTO, 0, 0};
act10 aswing5_3d = {INIT_PATH, 20, HERO, USER, 0, 0}; act10 aswing5_3d = {INIT_PATH, 20, HERO, USER, 0, 0};
act10 adisable_3d = {INIT_PATH, 0, HERO, AUTO, 0, 0}; act10 adisable_3d = {INIT_PATH, 0, HERO, AUTO, 0, 0};
act10 aenable_3d = {INIT_PATH, 0, HERO, USER, 0, 0}; act10 aenable_3d = {INIT_PATH, 0, HERO, USER, 0, 0};
act10 ahoriz6_3d = {INIT_PATH, 1, HERO, USER, 0, 0};
act10 aquiet_3d = {INIT_PATH, 0, HERO, QUIET, 0, 0}; act10 aquiet_3d = {INIT_PATH, 0, HERO, QUIET, 0, 0};
act11 aactiontest1_3d = {COND_R, 0, E_EYES_3d, 1, 0, kALoktoleave1_3d}; act11 aactiontest1_3d = {COND_R, 0, E_EYES_3d, 1, 0, kALoktoleave1_3d};
act11 aactiontest2_3d = {COND_R, 0, E_EYES_3d, 1, 0, kALoktoleave2_3d}; act11 aactiontest2_3d = {COND_R, 0, E_EYES_3d, 1, 0, kALoktoleave2_3d};
act11 ablktest_3d = {COND_R, 0, BLOCK1_3d, 0, kALblk1_3d, 0}; act11 ablktest_3d = {COND_R, 0, BLOCK1_3d, 0, kALblk1_3d, 0};
act11 abrgmsgtest_3d = {COND_R, 0, VINE_3d, 0, kALbrg_clftop_msg_3d, kALbrg_clftop1_3d}; act11 abrgmsgtest_3d = {COND_R, 0, VINE_3d, 0, kALbrg_clftop_msg_3d, kALbrg_clftop1_3d};
act11 abrgtest_3d = {COND_R, 0, VINE_3d, 0, kALbrg_ok_3d, kALbrg_down_3d}; act11 abrgtest_3d = {COND_R, 0, VINE_3d, 0, kALbrg_ok_3d, kALbrg_down_3d};
act11 acagetest_3d = {COND_R, 0, MOUSE_3d, 2, 0, kALpostest_3d}; act11 acagetest_3d = {COND_R, 0, MOUSE_3d, 2, 0, kALpostest_3d};
act11 acagetest1_3d = {COND_R, 0, MOUSE_3d, 2, kALcagetest2_3d, kALok_3d}; act11 acagetest1_3d = {COND_R, 0, MOUSE_3d, 2, kALcagetest2_3d, kALok_3d};
act11 acamptest_3d = {COND_R, 0, NAT1_3d, 0, kALcampers_3d, kALchase_3d}; act11 acamptest_3d = {COND_R, 0, NAT1_3d, 0, kALcampers_3d, kALchase_3d};
act11 acavetest_3d = {COND_R, 0, GHOST_3d, 0, kALspirit_3d, kALcave_man_3d}; act11 acavetest_3d = {COND_R, 0, GHOST_3d, 0, kALspirit_3d, kALcave_man_3d};
@ -11035,6 +11030,8 @@ act11 aflasktest2_3d = {COND_R, 0, FLASK_3d, 2, kALremedy
act11 aflasktest3_3d = {COND_R, 0, FLASK_3d, 1, kALnoremedy_3d, kALrefuseflask_3d}; act11 aflasktest3_3d = {COND_R, 0, FLASK_3d, 1, kALnoremedy_3d, kALrefuseflask_3d};
act11 agettest2_3d = {COND_R, 0, DOCTOR_3d, 0, kALgot_3d, 0}; act11 agettest2_3d = {COND_R, 0, DOCTOR_3d, 0, kALgot_3d, 0};
act11 agivetest_3d = {COND_R, 0, NAT1_3d, 10, kALrefuse_3d, kALgive_3d}; act11 agivetest_3d = {COND_R, 0, NAT1_3d, 10, kALrefuse_3d, kALgive_3d};
act11 ahoriz1_3d = {COND_R, 0, HERO, 0, kALup_3d, 0};
act11 ahoriz2_3d = {COND_R, 0, HERO, 1, kALdn_3d, 0};
act11 anat0_3d = {COND_R, 0, NAT1_3d, 0, kALcom0_3d, kALnat1_3d}; act11 anat0_3d = {COND_R, 0, NAT1_3d, 0, kALcom0_3d, kALnat1_3d};
act11 anat1_3d = {COND_R, 0, NAT1_3d, 1, kALcom1_3d, kALnat2_3d}; act11 anat1_3d = {COND_R, 0, NAT1_3d, 1, kALcom1_3d, kALnat2_3d};
act11 anat2_3d = {COND_R, 0, NAT1_3d, 2, kALcom2_3d, kALnat3_3d}; act11 anat2_3d = {COND_R, 0, NAT1_3d, 2, kALcom2_3d, kALnat3_3d};
@ -11060,7 +11057,6 @@ act11 auntietest_3d = {COND_R, 0, BLOCK1_3d, 0, kALnottie
act11 avinetest_3d = {COND_R, 0, BLOCK1_3d, 0, kALtievine_3d, kALtied_3d}; act11 avinetest_3d = {COND_R, 0, BLOCK1_3d, 0, kALtievine_3d, kALtied_3d};
act11 awebtest1_3d = {COND_R, 0, PENNY_3d, 0, kALspider_3d, kALwebtest2_3d}; act11 awebtest1_3d = {COND_R, 0, PENNY_3d, 0, kALspider_3d, kALwebtest2_3d};
act11 awebtest2_3d = {COND_R, 0, PENNY_3d, 1, kALmission_3d, kALreturn_3d}; act11 awebtest2_3d = {COND_R, 0, PENNY_3d, 1, kALmission_3d, kALreturn_3d};
act11 ahoriz5_3d = {COND_R, 1, HERO, 0, kALup_3d, kALdn_3d};
act12 ablk1_3d = {TEXT, 0, kSTBlk1_3d}; act12 ablk1_3d = {TEXT, 0, kSTBlk1_3d};
act12 abook1_3d = {TEXT, 0, kSTBook1_3d}; act12 abook1_3d = {TEXT, 0, kSTBook1_3d};
@ -11134,7 +11130,6 @@ act13 aswing2_3d = {SWAP_IMAGES, 2, HERO, SWINGER_3d};
act13 aswing7_3d = {SWAP_IMAGES, 15, HERO, SWINGER_3d}; act13 aswing7_3d = {SWAP_IMAGES, 15, HERO, SWINGER_3d};
act13 aweb24_3d = {SWAP_IMAGES, 0, HERO, HERO_OLD_3d}; act13 aweb24_3d = {SWAP_IMAGES, 0, HERO, HERO_OLD_3d};
act13 aweb25_3d = {SWAP_IMAGES, 0, HERO, WHERO_3d}; act13 aweb25_3d = {SWAP_IMAGES, 0, HERO, WHERO_3d};
act13 ahoriz2_3d = {SWAP_IMAGES, 1, HERO, WHERO_3d};
act13 aweehero_3d = {SWAP_IMAGES, 0, HERO, WHERO_3d}; act13 aweehero_3d = {SWAP_IMAGES, 0, HERO, WHERO_3d};
act14 acagetest3_3d = {COND_SCR, 0, CAGE_3d, PATH_3d, kALcagetest4_3d, kALmousego_3d}; act14 acagetest3_3d = {COND_SCR, 0, CAGE_3d, PATH_3d, kALcagetest4_3d, kALmousego_3d};
@ -11209,8 +11204,6 @@ act20 aridtest_3d = {DEL_EVENTS, 0, TEST_STATE_BITS};
act21 adead5_3d = {GAMEOVER, 0}; act21 adead5_3d = {GAMEOVER, 0};
act22 ahoriz3_3d = {INIT_HH_COORD, 1, HERO};
act23 asunset3_3d = {EXIT, 50}; act23 asunset3_3d = {EXIT, 50};
act24 adammed1_3d = {BONUS, 0, 11}; act24 adammed1_3d = {BONUS, 0, 11};
@ -11230,6 +11223,7 @@ act24 atakecb1_3d = {BONUS, 0, 16};
act24 atakencheese_3d = {BONUS, 0, 13}; act24 atakencheese_3d = {BONUS, 0, 13};
act24 avine1_3d = {BONUS, 0, 2}; act24 avine1_3d = {BONUS, 0, 2};
act25 ahorizpos_3d = {COND_BOX, 0, HERO, 0, 0, 320, 150, kALhorizup_3d, kALhorizdn_3d};
act25 aentertest3_3d = {COND_BOX, 1, MOUSE_3d, 156, 133, 163, 148, kALtrapped_3d, 0}; act25 aentertest3_3d = {COND_BOX, 1, MOUSE_3d, 156, 133, 163, 148, kALtrapped_3d, 0};
act25 amousel_3d = {COND_BOX, 0, HERO, 0, 0, 254, 199, kALholel_3d, 0}; act25 amousel_3d = {COND_BOX, 0, HERO, 0, 0, 254, 199, kALholel_3d, 0};
act25 amouser_3d = {COND_BOX, 0, HERO, 255, 0, 319, 199, kALholer_3d, 0}; act25 amouser_3d = {COND_BOX, 0, HERO, 255, 0, 319, 199, kALholer_3d, 0};
@ -11414,7 +11408,7 @@ actListPtr ALcrashStory_3d[] = {&acrashtest1_3d, 0};
actListPtr ALcrash_web_3d[] = {&axy_crash_web_3d, &ascr_crash_web_3d, 0}; actListPtr ALcrash_web_3d[] = {&axy_crash_web_3d, &ascr_crash_web_3d, 0};
actListPtr ALcrashed_3d[] = {&astory_mode_3d, &acrash1_3d, &acrash2_3d, &acrash3_3d, &acrash4_3d, &acrash5_3d, &acrash6_3d, &acrash7_3d, &acrash8_3d, &acrash9_3d, &acrash10_3d, &acrash11_3d, &acrash12_3d, &acrash13_3d, &acrash14_3d, &acrash15_3d, &acrash16_3d, &acrash17_3d, &acrash18_3d, &acrash19_3d, &acrash20_3d, &acrash21_3d, &acrash22_3d, &acrash23_3d, 0}; actListPtr ALcrashed_3d[] = {&astory_mode_3d, &acrash1_3d, &acrash2_3d, &acrash3_3d, &acrash4_3d, &acrash5_3d, &acrash6_3d, &acrash7_3d, &acrash8_3d, &acrash9_3d, &acrash10_3d, &acrash11_3d, &acrash12_3d, &acrash13_3d, &acrash14_3d, &acrash15_3d, &acrash16_3d, &acrash17_3d, &acrash18_3d, &acrash19_3d, &acrash20_3d, &acrash21_3d, &acrash22_3d, &acrash23_3d, 0};
actListPtr ALcrashtest2_3d[] = {&acrashtest2_3d, 0}; actListPtr ALcrashtest2_3d[] = {&acrashtest2_3d, 0};
actListPtr ALcryhelp_3d[] = {&ahelp1_3d, &ahelp2_3d, &ahelp3_3d, &ahelp4_3d, &ahelp5_3d, &ahelp6_3d, 0}; actListPtr ALcryhelp_3d[] = {&aweehero_3d, &ahelp1_3d, &ahelp2_3d, &ahelp3_3d, &ahelp4_3d, &ahelp5_3d, &ahelp6_3d, 0};
actListPtr ALcrystal_3d[] = {&arub_3d, &ac1_3d, 0}; actListPtr ALcrystal_3d[] = {&arub_3d, &ac1_3d, 0};
actListPtr ALcubestip_3d[] = {&acubestip_3d, 0}; actListPtr ALcubestip_3d[] = {&acubestip_3d, 0};
actListPtr ALdammed_3d[] = {&adammed1_3d, &adammed2_3d, &adammed3_3d, 0}; actListPtr ALdammed_3d[] = {&adammed1_3d, &adammed2_3d, &adammed3_3d, 0};
@ -11423,7 +11417,7 @@ actListPtr ALdart_3d[] = {&apath2test_3d, 0};
actListPtr ALdarted_3d[] = {&adarted_3d, 0}; actListPtr ALdarted_3d[] = {&adarted_3d, 0};
actListPtr ALdartedtest_3d[] = {&adartedtest_3d, 0}; actListPtr ALdartedtest_3d[] = {&adartedtest_3d, 0};
actListPtr ALdartsched_3d[] = {&adarttest1_3d, 0}; actListPtr ALdartsched_3d[] = {&adarttest1_3d, 0};
actListPtr ALdn_3d[] = {&adn1_3d, &adn2_3d, 0}; actListPtr ALdn_3d[] = {&aweehero_3d, &adn_3d, 0};
actListPtr ALdoc_3d[] = {&aquiet_3d, &astophero_3d, &adoc1_3d, &adoc2_3d, &adoc3_3d, &adoc4_3d, 0}; actListPtr ALdoc_3d[] = {&aquiet_3d, &astophero_3d, &adoc1_3d, &adoc2_3d, &adoc3_3d, &adoc4_3d, 0};
actListPtr ALdocgot_3d[] = {&agettest1_3d, 0}; actListPtr ALdocgot_3d[] = {&agettest1_3d, 0};
actListPtr ALdodart_3d[] = {&astartaction_3d, &aok_3d, &adart1_3d, &adart2_3d, &adart3_3d, &adart4_3d, &adart5_3d, &adart6_3d, &aridtest_3d, &adarttest_3d, &aendaction_3d, 0}; actListPtr ALdodart_3d[] = {&astartaction_3d, &aok_3d, &adart1_3d, &adart2_3d, &adart3_3d, &adart4_3d, &adart5_3d, &adart6_3d, &aridtest_3d, &adarttest_3d, &aendaction_3d, 0};
@ -11471,7 +11465,6 @@ actListPtr ALgot_3d[] = {&agot1_3d, &agot1a_3d, &agot1b_3d, &agot1c_3
actListPtr ALgotit_3d[] = {&agotit_3d, 0}; actListPtr ALgotit_3d[] = {&agotit_3d, 0};
actListPtr ALholel_3d[] = {&ahole1_3d, &ahole2a_3d, &ahole3a_3d, &ahole4a_3d, &ahole5a_3d, &ahole6_3d, 0}; actListPtr ALholel_3d[] = {&ahole1_3d, &ahole2a_3d, &ahole3a_3d, &ahole4a_3d, &ahole5a_3d, &ahole6_3d, 0};
actListPtr ALholer_3d[] = {&ahole1_3d, &ahole2b_3d, &ahole3b_3d, &ahole4b_3d, &ahole5b_3d, &ahole6_3d, 0}; actListPtr ALholer_3d[] = {&ahole1_3d, &ahole2b_3d, &ahole3b_3d, &ahole4b_3d, &ahole5b_3d, &ahole6_3d, 0};
actListPtr ALhorizon_3d[] = {&aquiet_3d, &ahoriz1_3d, &ahoriz2_3d, &ahoriz3_3d, &ahoriz4_3d, &ahoriz5_3d, &ahoriz6_3d, 0};
actListPtr ALhut_camp_3d[] = {&axy_hut_camp_3d, &ascr_hut_camp_3d, 0}; actListPtr ALhut_camp_3d[] = {&axy_hut_camp_3d, &ascr_hut_camp_3d, 0};
actListPtr ALhut_enter_3d[] = {&axy_hut_in_3d, &ascr_hut_in_3d, 0}; actListPtr ALhut_enter_3d[] = {&axy_hut_in_3d, &ascr_hut_in_3d, 0};
actListPtr ALhut_in_3d[] = {&adoctest_3d, 0}; actListPtr ALhut_in_3d[] = {&adoctest_3d, 0};
@ -11596,7 +11589,7 @@ actListPtr ALturn_cave_3d[] = {&axy_turn_cave_3d, &ascr_turn_cave_3d, 0};
actListPtr ALturn_village_3d[] = {&aweehero_3d, &axy_turn_village_3d, &ascr_turn_village_3d, 0}; actListPtr ALturn_village_3d[] = {&aweehero_3d, &axy_turn_village_3d, &ascr_turn_village_3d, 0};
actListPtr ALuntie_3d[] = {&auntie_3d, 0}; actListPtr ALuntie_3d[] = {&auntie_3d, 0};
actListPtr ALuntie_vine_3d[] = {&auntietest_3d, 0}; actListPtr ALuntie_vine_3d[] = {&auntietest_3d, 0};
actListPtr ALup_3d[] = {&aup1_3d, &aup2_3d, 0}; actListPtr ALup_3d[] = {&aweehero_3d, &aup_3d, 0};
actListPtr ALvillage_camp_l_3d[] = {&aweehero_3d, &axy_village_camp_l_3d, &ascr_village_camp_l_3d, 0}; actListPtr ALvillage_camp_l_3d[] = {&aweehero_3d, &axy_village_camp_l_3d, &ascr_village_camp_l_3d, 0};
actListPtr ALvillage_camp_r_3d[] = {&aweehero_3d, &axy_village_camp_r_3d, &ascr_village_camp_r_3d, 0}; actListPtr ALvillage_camp_r_3d[] = {&aweehero_3d, &axy_village_camp_r_3d, &ascr_village_camp_r_3d, 0};
actListPtr ALvillage_path_3d[] = {&aweehero_3d, &axy_village_path_3d, &ascr_village_path_3d, 0}; actListPtr ALvillage_path_3d[] = {&aweehero_3d, &axy_village_path_3d, &ascr_village_path_3d, 0};
@ -11619,6 +11612,10 @@ actListPtr ALwfallb_cave_3d[] = {&axy_wfall_cave_3d, &ascr_wfall_cave_3d, 0};
actListPtr ALwfallb_clf_3d[] = {&axy_wfall_clf_3d, &ascr_wfall_clf_3d, 0}; actListPtr ALwfallb_clf_3d[] = {&axy_wfall_clf_3d, &ascr_wfall_clf_3d, 0};
actListPtr ALwfallb_wbase_3d[] = {&axy_wfallb_wbase_3d, &ascr_wfallb_wbase_3d, 0}; actListPtr ALwfallb_wbase_3d[] = {&axy_wfallb_wbase_3d, &ascr_wfallb_wbase_3d, 0};
actListPtr ALwrong_3d[] = {&aappear1_3d, &aenable_3d, &awrong1_3d, &amap4b_3d, &areturn_3d, 0}; actListPtr ALwrong_3d[] = {&aappear1_3d, &aenable_3d, &awrong1_3d, &amap4b_3d, &areturn_3d, 0};
//Added by Strangerke to improve mouse support
actListPtr ALhorizdn_3d[] = {&ahoriz2_3d, 0};
actListPtr ALhorizon_3d[] = {&ahorizpos_3d, &arepeathorizon_3d, 0};
actListPtr ALhorizup_3d[] = {&ahoriz1_3d, 0};
actList actListArr_3d[] = { actList actListArr_3d[] = {
ALDummy, ALac2_3d, ALac3_3d, ALac4_3d, ALac5_3d, ALDummy, ALac2_3d, ALac3_3d, ALac4_3d, ALac5_3d,
@ -11644,36 +11641,38 @@ actList actListArr_3d[] = {
ALfindcrystal_3d, ALfindit_3d, ALflash_3d, ALflask_3d, ALflasktest2_3d, ALfindcrystal_3d, ALfindit_3d, ALflash_3d, ALflask_3d, ALflasktest2_3d,
ALflasktest3_3d, ALgarden_wbase_3d, ALgettest2_3d, ALgive_3d, ALgiveb_3d, ALflasktest3_3d, ALgarden_wbase_3d, ALgettest2_3d, ALgive_3d, ALgiveb_3d,
ALgivetest_3d, ALgot_3d, ALgotit_3d, ALholel_3d, ALholer_3d, ALgivetest_3d, ALgot_3d, ALgotit_3d, ALholel_3d, ALholer_3d,
ALhorizon_3d, ALhut_camp_3d, ALhut_enter_3d, ALhut_in_3d, ALhut_out_3d, ALhut_camp_3d, ALhut_enter_3d, ALhut_in_3d, ALhut_out_3d, ALhut_village_c_3d,
ALhut_village_c_3d, ALhut_village_r_3d, ALleft_3d, ALlookfall_3d, ALlooknofall_3d, ALhut_village_r_3d, ALleft_3d, ALlookfall_3d, ALlooknofall_3d, ALlookwfall_3d,
ALlookwfall_3d, ALmagictip_3d, ALmakeclay_3d, ALmakeit_3d, ALmap0_3d, ALmagictip_3d, ALmakeclay_3d, ALmakeit_3d, ALmap0_3d, ALmap1_3d,
ALmap1_3d, ALmission_3d, ALmodeltip_3d, ALmouse_3d, ALmousego_3d, ALmission_3d, ALmodeltip_3d, ALmouse_3d, ALmousego_3d, ALmousegone_3d,
ALmousegone_3d, ALmousel_3d, ALmouser_3d, ALmousetip_3d, ALnat1_3d, ALmousel_3d, ALmouser_3d, ALmousetip_3d, ALnat1_3d, ALnat2_3d,
ALnat2_3d, ALnat3_3d, ALnat4_3d, ALnat5_3d, ALnat6_3d, ALnat3_3d, ALnat4_3d, ALnat5_3d, ALnat6_3d, ALnat7_3d,
ALnat7_3d, ALnat8_3d, ALnat9_3d, ALnative_3d, ALnoblow_3d, ALnat8_3d, ALnat9_3d, ALnative_3d, ALnoblow_3d, ALnocarry_3d,
ALnocarry_3d, ALnoclay_3d, ALnofill_3d, ALnomake_3d, ALnopurps_3d, ALnoclay_3d, ALnofill_3d, ALnomake_3d, ALnopurps_3d, ALnoremedy_3d,
ALnoremedy_3d, ALnospell_3d, ALnostick_3d, ALnostickpin_3d, ALnotakecb_3d, ALnospell_3d, ALnostick_3d, ALnostickpin_3d, ALnotakecb_3d, ALnothanks2_3d,
ALnothanks2_3d, ALnothanks_3d, ALnotip_3d, ALnottied_3d, ALok_3d, ALnothanks_3d, ALnotip_3d, ALnottied_3d, ALok_3d, ALoktoleave1_3d,
ALoktoleave1_3d, ALoktoleave2_3d, ALold2_3d, ALold3_3d, ALold4_3d, ALoktoleave2_3d, ALold2_3d, ALold3_3d, ALold4_3d, ALold5_3d,
ALold5_3d, ALold6_3d, ALold7_3d, ALoldfirst_3d, ALoldman_3d, ALold6_3d, ALold7_3d, ALoldfirst_3d, ALoldman_3d, ALoldmantip_3d,
ALoldmantip_3d, ALoldsubseq_3d, ALopencage_3d, ALopencdoor_3d, ALopendoor_3d, ALoldsubseq_3d, ALopencage_3d, ALopencdoor_3d, ALopendoor_3d, ALpath_3d,
ALpath_3d, ALpath_brg_3d, ALpath_stream_3d, ALpath_village_3d, ALpath_web_3d, ALpath_brg_3d, ALpath_stream_3d, ALpath_village_3d, ALpath_web_3d, ALplane_3d,
ALplane_3d, ALplanetip_3d, ALpostest_3d, ALprod_3d, ALputitdown_3d, ALplanetip_3d, ALpostest_3d, ALprod_3d, ALputitdown_3d, ALreadbook_3d,
ALreadbook_3d, ALreadord_3d, ALreadtest2_3d, ALrefuse_3d, ALrefuseflask_3d, ALreadord_3d, ALreadtest2_3d, ALrefuse_3d, ALrefuseflask_3d, ALremedy_3d,
ALremedy_3d, ALremedytip_3d, ALreturn_3d, ALright_3d, ALscare_3d, ALremedytip_3d, ALreturn_3d, ALright_3d, ALscare_3d, ALscared_3d,
ALscared_3d, ALsleepy_3d, ALslope_clftop_3d, ALslope_stream_3d, ALsong3_3d, ALsleepy_3d, ALslope_clftop_3d, ALslope_stream_3d, ALsong3_3d, ALspider_3d,
ALspider_3d, ALspirit_3d, ALstalk_3d, ALstick_3d, ALstickpin_3d, ALspirit_3d, ALstalk_3d, ALstick_3d, ALstickpin_3d, ALsticktest1_3d,
ALsticktest1_3d, ALsticktest2_3d, ALsticktest4_3d, ALsticktip_3d, ALstream1_3d, ALsticktest2_3d, ALsticktest4_3d, ALsticktip_3d, ALstream1_3d, ALstream2_3d,
ALstream2_3d, ALstream_path_3d, ALstream_slope_3d, ALstuckpin_3d, ALsunset_3d, ALstream_path_3d, ALstream_slope_3d, ALstuckpin_3d, ALsunset_3d, ALswing_3d,
ALswing_3d, ALswingtip_3d, ALtakecage_3d, ALtakecb_3d, ALtakecheese_3d, ALswingtip_3d, ALtakecage_3d, ALtakecb_3d, ALtakecheese_3d, ALtakechs_3d,
ALtakechs_3d, ALtakeit_3d, ALtaketest1_3d, ALtaketest2_3d, ALtalknat_3d, ALtakeit_3d, ALtaketest1_3d, ALtaketest2_3d, ALtalknat_3d, ALtalktest1_3d,
ALtalktest1_3d, ALtalktest2_3d, ALtalkweb_3d, ALtied_3d, ALtievine_3d, ALtalktest2_3d, ALtalkweb_3d, ALtied_3d, ALtievine_3d, ALtrapped_3d,
ALtrapped_3d, ALturn_cave_3d, ALturn_village_3d, ALuntie_3d, ALuntie_vine_3d, ALturn_cave_3d, ALturn_village_3d, ALuntie_3d, ALuntie_vine_3d, ALup_3d,
ALup_3d, ALvillage_camp_l_3d, ALvillage_camp_r_3d, ALvillage_path_3d, ALvillage_thing_3d, ALvillage_camp_l_3d, ALvillage_camp_r_3d, ALvillage_path_3d, ALvillage_thing_3d, ALvillage_turn_3d,
ALvillage_turn_3d, ALvine_3d, ALwarn_3d, ALwaterfall_3d, ALwaternofall_3d, ALvine_3d, ALwarn_3d, ALwaterfall_3d, ALwaternofall_3d, ALwbase_garden_3d,
ALwbase_garden_3d, ALwbase_wfall_3d, ALweb_3d, ALweb_crash_3d, ALweb_path_3d, ALwbase_wfall_3d, ALweb_3d, ALweb_crash_3d, ALweb_path_3d, ALwebtest2_3d,
ALwebtest2_3d, ALwfall_cave_3d, ALwfall_clf_3d, ALwfall_wbase_3d, ALwfallb_cave_3d, ALwfall_cave_3d, ALwfall_clf_3d, ALwfall_wbase_3d, ALwfallb_cave_3d, ALwfallb_clf_3d,
ALwfallb_clf_3d, ALwfallb_wbase_3d, ALwrong_3d ALwfallb_wbase_3d, ALwrong_3d,
// Added by Strangerke to improve mouse support
ALhorizdn_3d, ALhorizon_3d, ALhorizup_3d
}; };
// Default tune selection - repeats indefinitely // Default tune selection - repeats indefinitely