diff options
author | Jonathan Gray | 2003-12-17 15:27:41 +0000 |
---|---|---|
committer | Jonathan Gray | 2003-12-17 15:27:41 +0000 |
commit | 9b70f6d9225508f854a6ff8321cb49868adc0914 (patch) | |
tree | 902f4de07055c7459dac6d5284bab24d8f89d5b7 /sword1 | |
parent | f704b12eeb8483c2151a576fa91722669b1717fe (diff) | |
download | scummvm-rg350-9b70f6d9225508f854a6ff8321cb49868adc0914.tar.gz scummvm-rg350-9b70f6d9225508f854a6ff8321cb49868adc0914.tar.bz2 scummvm-rg350-9b70f6d9225508f854a6ff8321cb49868adc0914.zip |
add boot params for ireland, everyone's favourite puzzle can be found via 24
svn-id: r11715
Diffstat (limited to 'sword1')
-rw-r--r-- | sword1/sword1.cpp | 112 | ||||
-rw-r--r-- | sword1/sworddefs.h | 3 |
2 files changed, 115 insertions, 0 deletions
diff --git a/sword1/sword1.cpp b/sword1/sword1.cpp index d96daab5c0..05028c6dfe 100644 --- a/sword1/sword1.cpp +++ b/sword1/sword1.cpp @@ -563,6 +563,118 @@ void SwordEngine::startPositions(int32 startNumber) { SwordLogic::_scriptVars[TAILOR_PHONE_FLAG] = 1; } + //------------------------------------------------------------------------------------------------------- + // IRELAND + else if ((startNumber>=19)&&(startNumber<=26)) + { + SwordLogic::_scriptVars[PARIS_FLAG] = 9; + + // already carrying these objects by the time we reach Ireland... + _logic->fnAddObject(0,0,RED_NOSE,0,0,0,0,0); + _logic->fnAddObject(0,0,PHOTOGRAPH,0,0,0,0,0); + _logic->fnAddObject(0,0,LAB_PASS,0,0,0,0,0); + _logic->fnAddObject(0,0,LIFTING_KEYS,0,0,0,0,0); + _logic->fnAddObject(0,0,MATCHBOOK,0,0,0,0,0); + _logic->fnAddObject(0,0,BUZZER,0,0,0,0,0); + _logic->fnAddObject(0,0,TISSUE,0,0,0,0,0); + + switch (startNumber) + { + //--------------------------- + case 19: // ireland_street + { + SwordLogic::_scriptVars[CHANGE_X] = 256; + SwordLogic::_scriptVars[CHANGE_Y] = 966; + SwordLogic::_scriptVars[CHANGE_DIR] = UP_RIGHT; + SwordLogic::_scriptVars[CHANGE_PLACE] = FLOOR_19; + } + break; + //--------------------------- + case 20: // macdevitts + { + SwordLogic::_scriptVars[CHANGE_X] = 194; + SwordLogic::_scriptVars[CHANGE_Y] = 417; + SwordLogic::_scriptVars[CHANGE_DIR] = DOWN_RIGHT; + SwordLogic::_scriptVars[CHANGE_PLACE] = FLOOR_20; + + SwordLogic::_scriptVars[FARMER_MOVED_FLAG] = 1; + SwordLogic::_scriptVars[FARMER_SEAN_FLAG] = 5; + + SwordLogic::_scriptVars[PUB_FLAP_FLAG] = 1; + SwordLogic::_scriptVars[PUB_TRAP_DOOR] = 2; + SwordLogic::_scriptVars[KNOWS_PEAGRAM_FLAG] = 1; + } + break; + //--------------------------- + case 21: // pub_cellar + { + SwordLogic::_scriptVars[CHANGE_X] = 291; + SwordLogic::_scriptVars[CHANGE_Y] = 444; + SwordLogic::_scriptVars[CHANGE_DIR] = DOWN_RIGHT; + SwordLogic::_scriptVars[CHANGE_PLACE] = FLOOR_21; + + _logic->fnAddObject(0,0,BEER_TOWEL,0,0,0,0,0); + + SwordLogic::_scriptVars[FARMER_MOVED_FLAG] = 1; + SwordLogic::_scriptVars[FLEECY_STUCK] = 1; + SwordLogic::_scriptVars[LIFTING_KEYS_IN_HOLE_23] = 1; + } + break; + //--------------------------- + case 22: // castle_gate + { + SwordLogic::_scriptVars[CHANGE_X] = 547; + SwordLogic::_scriptVars[CHANGE_Y] = 500; + SwordLogic::_scriptVars[CHANGE_DIR] = UP_LEFT; + SwordLogic::_scriptVars[CHANGE_PLACE] = FLOOR_22; + + SwordLogic::_scriptVars[IRELAND_FLAG] = 4; // so we can get rid of farmer + } + break; + //--------------------------- + case 23: // castle_hay_top + { + SwordLogic::_scriptVars[CHANGE_X] = 535; + SwordLogic::_scriptVars[CHANGE_Y] = 510; + SwordLogic::_scriptVars[CHANGE_DIR] = UP; + SwordLogic::_scriptVars[CHANGE_PLACE] = FLOOR_23; + } + break; + //--------------------------- + case 24: // castle_yard + { + SwordLogic::_scriptVars[CHANGE_X] = 815; + SwordLogic::_scriptVars[CHANGE_Y] = 446; + SwordLogic::_scriptVars[CHANGE_DIR] = DOWN_LEFT; + SwordLogic::_scriptVars[CHANGE_PLACE] = FLOOR_24; + } + break; + //--------------------------- + case 25: // castle_dig + { + SwordLogic::_scriptVars[CHANGE_X] = 369; + SwordLogic::_scriptVars[CHANGE_Y] = 492; + SwordLogic::_scriptVars[CHANGE_DIR] = LEFT; + SwordLogic::_scriptVars[CHANGE_PLACE] = FLOOR_25; + + _logic->fnAddObject(0,0,BEER_TOWEL,0,0,0,0,0); + + SwordLogic::_scriptVars[BEER_TOWEL_BEEN_WET] = 1; + SwordLogic::_scriptVars[WET_BEER_TOWEL_TIMER] = 1000; + } + break; + //--------------------------- + case 26: // cellar_dark + { + SwordLogic::_scriptVars[CHANGE_X] = 291; + SwordLogic::_scriptVars[CHANGE_Y] = 444; + SwordLogic::_scriptVars[CHANGE_DIR] = DOWN_RIGHT; + SwordLogic::_scriptVars[CHANGE_PLACE] = FLOOR_26; + } + break; + //--------------------------- + } + } else { error("Can't start in location %d", startNumber); diff --git a/sword1/sworddefs.h b/sword1/sworddefs.h index 2077e3b3ab..3f7ae86a75 100644 --- a/sword1/sworddefs.h +++ b/sword1/sworddefs.h @@ -163,6 +163,9 @@ enum Language { #define PLASTER 23 #define POLISHED_CHALICE 8 #define CHALICE 31 +#define MATCHBOOK 20 +#define BUZZER 26 +#define BEER_TOWEL 3 #define FLOOR_1 65536 #define FLOOR_2 131072 |