aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova
diff options
context:
space:
mode:
authorThierry Crozat2017-10-01 21:36:15 +0100
committerThierry Crozat2018-01-23 02:15:33 +0000
commit7722fe99cde7ad38a79e8a95d1bf342cd7075a0b (patch)
tree19d2db9c74fc63fcbdbe87afdfa23f9a3c225044 /engines/supernova
parentbe08dd3c57f8017346abae1659395d7d395d1440 (diff)
downloadscummvm-rg350-7722fe99cde7ad38a79e8a95d1bf342cd7075a0b.tar.gz
scummvm-rg350-7722fe99cde7ad38a79e8a95d1bf342cd7075a0b.tar.bz2
scummvm-rg350-7722fe99cde7ad38a79e8a95d1bf342cd7075a0b.zip
SUPERNOVA: Move object name and description strings to engine data file
Diffstat (limited to 'engines/supernova')
-rw-r--r--engines/supernova/msn_def.h93
-rw-r--r--engines/supernova/rooms.cpp144
-rw-r--r--engines/supernova/rooms.h692
-rw-r--r--engines/supernova/state.cpp24
-rw-r--r--engines/supernova/supernova.cpp5
-rw-r--r--engines/supernova/supernova.h8
6 files changed, 499 insertions, 467 deletions
diff --git a/engines/supernova/msn_def.h b/engines/supernova/msn_def.h
index 403ba147f8..84c08647cd 100644
--- a/engines/supernova/msn_def.h
+++ b/engines/supernova/msn_def.h
@@ -401,25 +401,80 @@ enum ObjectID {
};
enum StringID {
- kCommandGo = 0, kCommandLook, kCommandTake, kCommandOpen, kCommandClose,
- kCommandPress, kCommandPull, kCommandUse, kCommandTalk, kCommandGive,
- kStatusCommandGo, kStatusCommandLook, kStatusCommandTake, kStatusCommandOpen, kStatusCommandClose,
- kStatusCommandPress, kStatusCommandPull, kStatusCommandUse, kStatusCommandTalk, kStatusCommandGive,
- kBroken, kIntro1, kIntro2, kIntro3, kIntro4,
- kIntro5, kIntro6, kIntro7, kIntro8, kIntro9,
- kIntro10, kIntro11, kIntro12, kIntro13, kKeycard,
- kKeycardDesc, kKnife, kKnifeDesc, kWatch, kDiscman,
- kDiscmanDesc
+ kNoString = -1,
+ // 0
+ kStringCommandGo = 0, kStringCommandLook, kStringCommandTake, kStringCommandOpen, kStringCommandClose,
+ kStringCommandPress, kStringCommandPull, kStringCommandUse, kStringCommandTalk, kStringCommandGive,
+ kStringStatusCommandGo, kStringStatusCommandLook, kStringStatusCommandTake, kStringStatusCommandOpen, kStringStatusCommandClose,
+ kStringStatusCommandPress, kStringStatusCommandPull, kStringStatusCommandUse, kStringStatusCommandTalk, kStringStatusCommandGive,
+ kStringTitleVersion, kStringTitle1, kStringTitle2, kStringTitle3, kStringIntro1,
+ kStringIntro2, kStringIntro3, kStringIntro4, kStringIntro5, kStringIntro6,
+ kStringIntro7, kStringIntro8, kStringIntro9, kStringIntro10, kStringIntro11,
+ kStringIntro12, kStringIntro13, kStringBroken, kStringDefaultDescription, kStringTakeMessage,
+ kStringKeycard, kStringKeycardDescription, kStringKnife, kStringKnifeDescription, kStringWatch,
+ kStringDiscman, kStringDiscmanDescription, kStringHatch, kStringButton, kStringHatchButtonDescription,
+ // 50
+ kStringLadder, kStringExit, kStringCockpitHatchDescription, kStringKitchenHatchDescription, kStringStasisHatchDescription,
+ kStringStasisHatchDescription2, kStringSlot, kStringSlotDescription, kStringCorridor, kStringComputer,
+ kStringComputerPassword, kStringInstruments, kStringInstrumentsDescription1, kStringMonitor, kStringMonitorDescription,
+ kStringImage, kStringGenericDescription1, kStringGenericDescription2, kStringGenericDescription3, kStringGenericDescription4,
+ kStringMagnete, kStringMagneteDescription, kStringPen, kStringPenDescription, kStringShelf,
+ kStringCompartment, kStringSocket, kStringToilet, kStringPistol, kStringPistolDescription,
+ kStringBooks, kStringBooksDescription, kStringSpool, kStringSpoolDescription, kStringBook,
+ kStringUnderwear, kStringUnderwearDescription, kStringClothes, kStringJunk, kStringJunkDescription,
+ kStringFolders, kStringFoldersDescription, kStringPoster, kStringPosterDescription1, kStringPosterDescription2,
+ kStringSpeaker, kStringRecord, kStringRecordDescription, kStringRecordStand, kStringRecordStandDescription,
+ // 100
+ kStringTurntable, kStringTurntableDescription, kStringWire, kStringPlug, kStringImageDescription1,
+ kStringDrawingInstruments, kStringDrawingInstrumentsDescription, kStringChessGame, kStringChessGameDescription1, kStringTennisRacket,
+ kStringTennisRacketDescription, kStringTennisBall, kStringChessGameDescription2, kStringBed, kStringBedDescription,
+ kStringCompartmentDescription, kStringAlbums, kStringAlbumsDescription, kStringRope, kStringRopeDescription,
+ kStringShelfDescription, kStringClothesDescription, kStringSocks, kStringBookHitchhiker, kStringBathroom,
+ kStringBathroomDescription, kStringShower, kStringHatchDescription1, kStringHatchDescription2, kStringHelmet,
+ kStringHelmetDescription, kStringSuit, kStringSuitDescription, kStringLifeSupport, kStringLifeSupportDescription,
+ kStringScrap, kStringScrapDescription1, kStringTerminalStrip, kStringScrapDescription2, kStringReactor,
+ kStringReactorDescription, kStringNozzle, kStringPumpkin, kStringPumpkinDescription, kStringLandingModule,
+ kStringLandingModuleDescription, kStringHatchDescription3, kStringGenerator, kStringGeneratorDescription, kStringScrapDescription3,
+ // 150
+ kSafetyButtonDescription, kStringKeyboard, kStringGeneratorWire, kStringEmptySpool, kStringKeycard2,
+ kStringKeycard2Description, kStringTrap, kStringVoltmeter, kStringClip, kStringWireDescription,
+ kStringStone, kStringCaveOpening, kStringCaveOpeningDescription, kStringExitDescription, kStringCave,
+ kStringSign, kStringSignDescription, kStringEntrance, kStringStar, kStringSpaceshift,
+ kStringPorter, kStringPorterDescription, kStringDoor, kStringChewingGum, kStringGummyBears,
+ kStringChocolateBall, kStringEgg, kStringLiquorice, kStringPill, kStringPillDescription,
+ kStringVendingMachine, kStringVendingMachineDescription, kStringToiletDescription, kStringStaircase, kStringCoins,
+ kStringCoinsDescription, kStringTabletPackage, kStringTabletPackageDescription, kStringChair, kStringShoes,
+ kStringShoesDescription, kStringFrogFace, kStringScrible, kStringScribleDescription, kStringWallet,
+ kStringMenu, kStringMenuDescription, kStringCup, kStringCupDescription, kStringBill,
+ // 200
+ kStringBillDescription, kStringKeycard3, kStringAnnouncement, kStringAnnouncementDescription, kStringRoger,
+ kStringUfo, kStringUfoDescription, kStringTray, kStringTrayDescription, kStringLamp,
+ kStringLampDescription, kStringEyes, kStringEyesDescription, kStringSocketDescription, kStringMetalBlock,
+ kStringMetalBlockDescription, kStringRobot, kStringRobotDescription, kStringTable, kStringTableDescription,
+ kStringCellDoor, kStringCellDoorDescription, kStringLaptop, kStringWristwatch, kStringPillar,
+ kStringDoorDescription1, kStringDoorDescription2, kStringDoorDescription3, kStringDoorDescription4, kStringDontEnter,
+ kStringAxacussan, kStringAxacussanDescription, kStringImageDescription2, kStringMastercard, kStringMastercardDescription,
+ kStringLamp2, kStringGenericDescription5, kStringMoney, kStringMoneyDescription1, kStringLocker,
+ kStringLockerDescription, kStringLetter, kStringCube, kStringGenericDescription6, kStringGenericDescription7,
+ kStringStrangeThing, kStringGenericDescription8, kStringImageDescription3, kStringPlant, kStringStatue,
+ // 250
+ kStringStatueDescription, kStringPlantDescription, kStringComputerDescription, kStringGraffiti, kStringGraffitiDescription,
+ kStringMoneyDescription2, kStringJungle, kStringJungleDescription, kStringOutro1, kStringOutro2,
+ kStringOutro3, kStringOutro4, kStringOutro5, kStringOutro6, kStringOutro7,
+ kStringOutro8, kStringOutro9, kStringOutro10, kStringOutro11, kStringOutro12,
+ kStringOutro13, kStringOutro14, kStringWireAndPlug, kStringWireAndClip, kStringWireAndPlug2,
+ kStringSignDescription2, kStringCoin, kStringDoorDescription5, kStringDoorDescription6, kStringKeycard2Description2,
+ kSringSpoolAndClip
};
static StringID guiCommands[] = {
- kCommandGo, kCommandLook, kCommandTake, kCommandOpen, kCommandClose,
- kCommandPress, kCommandPull, kCommandUse, kCommandTalk, kCommandGive
+ kStringCommandGo, kStringCommandLook, kStringCommandTake, kStringCommandOpen, kStringCommandClose,
+ kStringCommandPress, kStringCommandPull, kStringCommandUse, kStringCommandTalk, kStringCommandGive
};
static StringID guiStatusCommands[] = {
- kStatusCommandGo, kStatusCommandLook, kStatusCommandTake, kStatusCommandOpen, kStatusCommandClose,
- kStatusCommandPress, kStatusCommandPull, kStatusCommandUse, kStatusCommandTalk, kStatusCommandGive
+ kStringStatusCommandGo, kStringStatusCommandLook, kStringStatusCommandTake, kStringStatusCommandOpen, kStringStatusCommandClose,
+ kStringStatusCommandPress, kStringStatusCommandPull, kStringStatusCommandUse, kStringStatusCommandTalk, kStringStatusCommandGive
};
ObjectType operator|(ObjectType a, ObjectType b);
@@ -430,13 +485,11 @@ ObjectType &operator&=(ObjectType &a, ObjectType b);
ObjectType &operator^=(ObjectType &a, ObjectType b);
struct Object {
- static const char *const defaultDescription;
- static const char *const takeMessage;
static const Object nullObject;
Object()
- : _name("")
- , _description(Object::defaultDescription)
+ : _name(kNoString)
+ , _description(kStringDefaultDescription)
, _id(INVALIDOBJECT)
, _roomId(NULLROOM)
, _type(NULLTYPE)
@@ -446,7 +499,7 @@ struct Object {
, _exitRoom(NULLROOM)
, _direction(0)
{}
- Object(byte roomId, const char *name, const char *description, ObjectID id, ObjectType type,
+ Object(byte roomId, StringID name, StringID description, ObjectID id, ObjectType type,
byte click, byte click2, byte section = 0, RoomID exitRoom = NULLROOM, byte direction = 0)
: _name(name)
, _description(description)
@@ -491,8 +544,8 @@ struct Object {
}
byte _roomId;
- Common::String _name;
- Common::String _description;
+ StringID _name;
+ StringID _description;
ObjectID _id;
ObjectType _type;
byte _click;
diff --git a/engines/supernova/rooms.cpp b/engines/supernova/rooms.cpp
index f4a3084fb6..b326840b43 100644
--- a/engines/supernova/rooms.cpp
+++ b/engines/supernova/rooms.cpp
@@ -43,11 +43,8 @@ bool Room::serialize(Common::WriteStream *out) {
out->writeSint32LE(numObjects);
for (int i = 0; i < numObjects; ++i) {
- out->writeUint32LE(_objectState[i]._name.size());
- out->writeString(_objectState[i]._name);
- out->writeUint32LE(_objectState[i]._description.size());
- out->writeString(_objectState[i]._description);
-
+ out->writeSint32LE(_objectState[i]._name);
+ out->writeSint32LE(_objectState[i]._description);
out->writeByte(_objectState[i]._roomId);
out->writeSint32LE(_objectState[i]._id);
out->writeSint32LE(_objectState[i]._type);
@@ -72,24 +69,9 @@ bool Room::deserialize(Common::ReadStream *in) {
_shown[i] = in->readByte();
int numObjects = in->readSint32LE();
- Common::SeekableReadStream *stream = NULL;
for (int i = 0; i < numObjects; ++i) {
- int stringLength = in->readUint32LE();
- if (stringLength) {
- stream = in->readStream(stringLength);
- _objectState[i]._name = stream->readLine();
- } else {
- _objectState[i]._name = "";
- }
-
- stringLength = in->readUint32LE();
- if (stringLength) {
- stream = in->readStream(stringLength);
- _objectState[i]._description = stream->readLine();
- } else {
- _objectState[i]._description = "";
- }
-
+ _objectState[i]._name = static_cast<StringID>(in->readSint32LE());
+ _objectState[i]._description = static_cast<StringID>(in->readSint32LE());
_objectState[i]._roomId = in->readByte();
_objectState[i]._id = static_cast<ObjectID>(in->readSint32LE());
_objectState[i]._type = static_cast<ObjectType>(in->readSint32LE());
@@ -105,6 +87,45 @@ bool Room::deserialize(Common::ReadStream *in) {
return !in->err();
}
+Intro::Intro(SupernovaEngine *vm, GameManager *gm) {
+ _vm = vm;
+ _gm = gm;
+
+ _fileNumber = -1;
+ _id = INTRO;
+ _shown[0] = false;
+
+ _objectState[0] =
+ Object(_id, kStringKeycard, kStringKeycardDescription, KEYCARD,
+ TAKE | CARRIED | COMBINABLE, 255, 255, 0, NULLROOM, 0);
+ _objectState[1] =
+ Object(_id, kStringKnife, kStringKnifeDescription, KNIFE,
+ TAKE | CARRIED | COMBINABLE, 255, 255, 0, NULLROOM, 0);
+ _objectState[2] =
+ Object(_id, kStringWatch, kStringDefaultDescription, WATCH,
+ TAKE | COMBINABLE | CARRIED, 255, 255, 8, NULLROOM, 0);
+ _objectState[3] =
+ Object(_id, kStringDiscman, kStringDiscmanDescription, DISCMAN,
+ TAKE | COMBINABLE, 255, 255, 0, NULLROOM, 0);
+
+ _shouldExit = false;
+
+ introText =
+ _vm->getGameString(kStringIntro1) +
+ _vm->getGameString(kStringIntro2) +
+ _vm->getGameString(kStringIntro3) +
+ _vm->getGameString(kStringIntro4) +
+ _vm->getGameString(kStringIntro5) +
+ _vm->getGameString(kStringIntro6) +
+ _vm->getGameString(kStringIntro7) +
+ _vm->getGameString(kStringIntro8) +
+ _vm->getGameString(kStringIntro9) +
+ _vm->getGameString(kStringIntro10) +
+ _vm->getGameString(kStringIntro11) +
+ _vm->getGameString(kStringIntro12) +
+ _vm->getGameString(kStringIntro13);
+}
+
void Intro::onEntrance() {
_gm->_guiEnabled = false;
_vm->_allowSaveGame = false;
@@ -132,10 +153,10 @@ void Intro::titleScreen() {
while (_vm->_mixer->isSoundHandleActive(_vm->_soundHandle))
_gm->wait2(1);
titleFadeIn();
- _vm->renderText("V2.02", 295, 190, kColorWhite44);
- _vm->renderText("Teil 1:", 64, 120, kColorLightBlue);
- _vm->renderText("Das Schicksal", 44, 132, kColorWhite99);
- _vm->renderText("des Horst Hummel", 35, 142, kColorWhite99);
+ _vm->renderText(kStringTitleVersion, 295, 190, kColorWhite44);
+ _vm->renderText(kStringTitle1, 64, 120, kColorLightBlue);
+ _vm->renderText(kStringTitle2, 44, 132, kColorWhite99);
+ _vm->renderText(kStringTitle3, 35, 142, kColorWhite99);
_gm->wait2(1);
CursorMan.showMouse(true);
_vm->playSoundMod(kMusicIntro);
@@ -488,7 +509,7 @@ bool ShipSleepCabin::interact(Action verb, Object &obj1, Object &obj2) {
input.toUppercase();
if (_gm->_key.keycode != Common::KEYCODE_ESCAPE) {
- if (input == _codeword_DE) {
+ if (input == _vm->getGameString(kStringComputerPassword)) {
_gm->great(6);
g_system->fillScreen(kColorDarkBlue);
_vm->renderText("Schlafdauer in Tagen:", 30, 85, kColorWhite99);
@@ -846,7 +867,7 @@ bool ShipCabinL3::interact(Action verb, Object &obj1, Object &obj2) {
if (isSectionVisible(10) && isSectionVisible(11)) {
_gm->drawImage(_gm->invertSection(10));
_gm->drawImage(_gm->invertSection(11));
- getObject(8)->_name = "Leitung mit Stecker";
+ getObject(8)->_name = kStringWireAndPlug;
_gm->takeObject(*getObject(8));
getObject(9)->_click = 255;
getObject(10)->_click = 255;
@@ -1035,9 +1056,9 @@ void ShipAirlock::onEntrance() {
bool ShipHold::interact(Action verb, Object &obj1, Object &obj2) {
Room *room;
- if ((verb == ACTION_LOOK) && (obj1._id == SCRAP_LK) && (obj1._description != _descriptionScrap)) {
- _vm->renderMessage(obj1._description.c_str());
- obj1._description = _descriptionScrap;
+ if ((verb == ACTION_LOOK) && (obj1._id == SCRAP_LK) && (obj1._description != kStringScrapDescription3)) {
+ _vm->renderMessage(obj1._description);
+ obj1._description = kStringScrapDescription3;
_gm->takeObject(*getObject(2));
} else if (((verb == ACTION_OPEN) || (verb == ACTION_CLOSE)) &&
(obj1._id == OUTERHATCH_TOP)) {
@@ -1049,7 +1070,7 @@ bool ShipHold::interact(Action verb, Object &obj1, Object &obj2) {
((verb == ACTION_USE) && Object::combine(obj1, obj2, HOLD_WIRE, LANDINGMOD_HATCH)))
_vm->renderMessage("Das Kabel ist schon ganz|richtig an dieser Stelle.");
else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, TERMINALSTRIP, HOLD_WIRE)) {
- getObject(0)->_name = "Leitung mit L\201sterklemme";
+ getObject(0)->_name = kStringWireAndClip;
_gm->_inventory.remove(*getObject(2));
_gm->_state._terminalStripConnected = true;
_gm->_state._terminalStripWire = true;
@@ -1059,7 +1080,7 @@ bool ShipHold::interact(Action verb, Object &obj1, Object &obj2) {
_vm->renderMessage("Womit denn?");
else {
_gm->drawImage(5);
- getObject(0)->_name = "langes Kabel mit Stecker";
+ getObject(0)->_name = kStringWireAndPlug2;
getObject(0)->_click = 10;
room = _gm->_rooms[CABIN_L2];
_gm->_inventory.remove(*getObject(9));
@@ -1095,7 +1116,7 @@ void ShipHold::onEntrance() {
bool ShipLandingModule::interact(Action verb, Object &obj1, Object &obj2) {
Room *r;
if ((verb == ACTION_PRESS) && (obj1._id == LANDINGMOD_BUTTON))
- _vm->renderMessage(obj1._description.c_str());
+ _vm->renderMessage(obj1._description);
else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, PEN, LANDINGMOD_BUTTON)) {
if (_gm->_state._landingModuleEnergyDaysLeft) {
r = _gm->_rooms[GENERATOR];
@@ -1153,7 +1174,7 @@ bool ShipLandingModule::interact(Action verb, Object &obj1, Object &obj2) {
_vm->renderMessage("An dem Kabel ist doch gar kein Stecker.");
else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, LANDINGMOD_WIRE, TERMINALSTRIP)) {
_gm->drawImage(11);
- getObject(4)->_name = "Leitung mit L\201sterklemme";
+ getObject(4)->_name = kStringWireAndClip;
r = _gm->_rooms[HOLD];
_gm->_inventory.remove(*r->getObject(2));
_gm->_state._terminalStripConnected = true;
@@ -1163,7 +1184,7 @@ bool ShipLandingModule::interact(Action verb, Object &obj1, Object &obj2) {
_vm->renderMessage("Womit denn?");
else {
_gm->drawImage(5);
- getObject(4)->_name = "langes Kabel mit Stecker";
+ getObject(4)->_name = kStringWireAndPlug2;
getObject(4)->_click = 6;
_gm->_inventory.remove(*_gm->_rooms[CABIN_L2]->getObject(9));
}
@@ -1429,7 +1450,7 @@ bool ArsanoMeetup::interact(Action verb, Object &obj1, Object &obj2) {
if (_gm->_state._language == 2)
_vm->renderMessage("Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Treffpunkt Galactica\".");
- obj1._description = "Darauf steht:|\"Treffpunkt Galactica\".";
+ obj1._description = kStringSignDescription2;
if (_gm->_state._language == 1)
return false;
@@ -1632,7 +1653,7 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
getObject(8 - _gm->_state._coins)->_click = 7;
--_gm->_state._coins;
if (_gm->_state._coins == 1) {
- getObject(16)->_name = "M\201nze";
+ getObject(16)->_name = kStringCoin;
}
if (_gm->_state._coins == 0) {
_gm->_inventory.remove(*getObject(16));
@@ -1642,14 +1663,14 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
} else if ((verb == ACTION_LOOK) && (obj1._id == KITCHEN_SIGN) && _gm->_state._language) {
if (_gm->_state._language == 2)
_vm->renderMessage("Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Zutritt nur f\201r Personal\".");
- obj1._description = "Darauf steht:|\"Zutritt nur f\201r Personal\".";
+ obj1._description = kStringDoorDescription5;
if (_gm->_state._language == 1)
return false;
_gm->_state._language = 1;
} else if ((verb == ACTION_LOOK) && (obj1._id == BATHROOM_SIGN) && _gm->_state._language) {
if (_gm->_state._language == 2)
_vm->renderMessage("Komisch! Auf einmal kannst|du das Schild lesen!|Darauf steht:\"Toilette\".");
- obj1._description = "Darauf steht:|\"Toilette\".";
+ obj1._description = kStringDoorDescription6;
if (_gm->_state._language == 1)
return false;
_gm->_state._language = 1;
@@ -2670,11 +2691,11 @@ bool AxacussBcorridor::interact(Action verb, Object &obj1, Object &obj2) {
} else if (((verb == ACTION_WALK) || ((verb == ACTION_OPEN) && !obj1.hasProperty(OPENED))) &&
(obj1._id >= DOOR1) && (obj1._id <= DOOR4) &&
obj1.hasProperty(OCCUPIED)) {
- _vm->renderMessage(_dontEnter.c_str());
+ _vm->renderMessage(kStringDontEnter);
} else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR1) &&
!getObject(4)->hasProperty(OPENED)) {
if (getObject(4)->hasProperty(OCCUPIED))
- _vm->renderMessage(_dontEnter.c_str());
+ _vm->renderMessage(kStringDontEnter);
else {
_gm->drawImage(1);
_vm->playSound(kAudioDoorOpen);
@@ -2685,7 +2706,7 @@ bool AxacussBcorridor::interact(Action verb, Object &obj1, Object &obj2) {
} else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR2) &&
!getObject(5)->hasProperty(OPENED)) {
if (getObject(5)->hasProperty(OCCUPIED)) {
- _vm->renderMessage(_dontEnter.c_str());
+ _vm->renderMessage(kStringDontEnter);
} else {
_gm->drawImage(2);
_vm->playSound(kAudioDoorOpen);
@@ -2696,7 +2717,7 @@ bool AxacussBcorridor::interact(Action verb, Object &obj1, Object &obj2) {
} else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR3) &&
!getObject(6)->hasProperty(OPENED)) {
if (getObject(6)->hasProperty(OCCUPIED)) {
- _vm->renderMessage(_dontEnter.c_str());
+ _vm->renderMessage(kStringDontEnter);
} else {
_gm->drawImage(3);
_vm->playSound(kAudioDoorOpen);
@@ -2707,7 +2728,7 @@ bool AxacussBcorridor::interact(Action verb, Object &obj1, Object &obj2) {
} else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, MASTERKEYCARD, DOOR4) &&
!getObject(7)->hasProperty(OPENED)) {
if (getObject(7)->hasProperty(OCCUPIED)) {
- _vm->renderMessage(_dontEnter.c_str());
+ _vm->renderMessage(kStringDontEnter);
} else {
_gm->drawImage(4);
_vm->playSound(kAudioDoorOpen);
@@ -2757,7 +2778,7 @@ bool AxacussOffice1::interact(Action verb, Object &obj1, Object &obj2) {
_vm->playSound(kAudioUndef2);
} else if ((verb == ACTION_LOOK) && (obj1._id == COMPUTER)) {
if (isSectionVisible(4))
- _vm->renderMessage(kBroken);
+ _vm->renderMessage(kStringBroken);
else
_gm->telomat(0);
} else if (((verb == ACTION_OPEN) || (verb == ACTION_USE)) &&
@@ -2840,7 +2861,7 @@ bool AxacussOffice2::interact(Action verb, Object &obj1, Object &obj2) {
_vm->playSound(kAudioUndef2);
} else if ((verb == ACTION_LOOK) && (obj1._id == COMPUTER)) {
if (isSectionVisible(4))
- _vm->renderMessage(kBroken);
+ _vm->renderMessage(kStringBroken);
else
_gm->telomat(1);
} else
@@ -2865,7 +2886,7 @@ bool AxacussOffice3::interact(Action verb, Object &obj1, Object &obj2) {
_vm->playSound(kAudioUndef2);
} else if ((verb == ACTION_LOOK) && (obj1._id == COMPUTER)) {
if (isSectionVisible(4))
- _vm->renderMessage(kBroken);
+ _vm->renderMessage(kStringBroken);
else
_gm->telomat(2);
} else if ((verb == ACTION_LOOK) && (obj1._id == PAINTING)) {
@@ -2894,7 +2915,7 @@ bool AxacussOffice4::interact(Action verb, Object &obj1, Object &obj2) {
_vm->playSound(kAudioUndef2);
} else if ((verb == ACTION_LOOK) && (obj1._id == COMPUTER)) {
if (isSectionVisible(4))
- _vm->renderMessage(kBroken);
+ _vm->renderMessage(kStringBroken);
else
_gm->telomat(3);
} else
@@ -3028,6 +3049,31 @@ bool AxacussSign::interact(Action verb, Object &obj1, Object &obj2) {
return false;
}
+Outro::Outro(SupernovaEngine *vm, GameManager *gm) {
+ _vm = vm;
+ _gm = gm;
+
+ _fileNumber = -1;
+ _id = OUTRO;
+ _shown[0] = false;
+
+ outroText =
+ _vm->getGameString(kStringOutro1) +
+ _vm->getGameString(kStringOutro2) +
+ _vm->getGameString(kStringOutro3) +
+ _vm->getGameString(kStringOutro4) +
+ _vm->getGameString(kStringOutro5) +
+ _vm->getGameString(kStringOutro6) +
+ _vm->getGameString(kStringOutro7) +
+ _vm->getGameString(kStringOutro8) +
+ _vm->getGameString(kStringOutro9) +
+ _vm->getGameString(kStringOutro10) +
+ _vm->getGameString(kStringOutro11) +
+ _vm->getGameString(kStringOutro12) +
+ _vm->getGameString(kStringOutro13) +
+ _vm->getGameString(kStringOutro14);
+}
+
void Outro::onEntrance() {
}
diff --git a/engines/supernova/rooms.h b/engines/supernova/rooms.h
index 0ad7468b55..9b8b4e291d 100644
--- a/engines/supernova/rooms.h
+++ b/engines/supernova/rooms.h
@@ -88,44 +88,7 @@ private:
// Room 0
class Intro : public Room {
public:
- Intro(SupernovaEngine *vm, GameManager *gm) {
- _vm = vm;
- _gm = gm;
-
- _fileNumber = -1;
- _id = INTRO;
- _shown[0] = false;
-
- _objectState[0] =
- Object(_id, "Keycard", "Die Keycard f\224r deine Schr\204nke.", KEYCARD,
- TAKE | CARRIED | COMBINABLE, 255, 255, 0, NULLROOM, 0);
- _objectState[1] =
- Object(_id, "Taschenmesser", "Es ist nicht mehr das sch\204rfste.", KNIFE,
- TAKE | CARRIED | COMBINABLE, 255, 255, 0, NULLROOM, 0);
- _objectState[2] =
- Object(_id, "Armbanduhr", Object::defaultDescription, WATCH,
- TAKE | COMBINABLE | CARRIED, 255, 255, 8, NULLROOM, 0);
- _objectState[3] =
- Object(_id, "Discman", "Es ist eine \"Mad Monkeys\"-CD darin.", DISCMAN,
- TAKE | COMBINABLE, 255, 255, 0, NULLROOM, 0);
-
- _shouldExit = false;
-
- introText = "^(C) 1994 Thomas und Steffen Dingel#"
- "Story und Grafik:^ Thomas Dingel#"
- "Programmierung:^ Steffen Dingel#"
- "Musik:^ Bernd Hoffmann#"
- "Getestet von ...#"
- "^Matthias Neef#"
- "^Sascha Otterbach#"
- "^Thomas Mazzoni#"
- "^Matthias Klein#"
- "^Gerrit Rothmaier#"
- "^Thomas Hassler#"
- "^Rene Koch#"
- "°";
- }
-
+ Intro(SupernovaEngine *vm, GameManager *gm);
virtual void onEntrance();
private:
@@ -159,16 +122,16 @@ public:
_shown[3] = false;
_shown[4] = true;
- _objectState[0] = Object(_id, "Luke", Object::defaultDescription, HATCH1, OPENABLE | EXIT, 0, 6, 1, CABIN_L1, 15);
- _objectState[1] = Object(_id, "Luke", Object::defaultDescription, NULLOBJECT, OPENABLE | EXIT, 1, 7, 2, CABIN_L2, 10);
- _objectState[2] = Object(_id, "Luke", Object::defaultDescription, NULLOBJECT, OPENABLE | EXIT, 2, 8, 3, CABIN_L3, 5);
- _objectState[3] = Object(_id, "Luke", Object::defaultDescription, NULLOBJECT, OPENABLE | EXIT, 5, 11, 6, CABIN_R1, 19);
- _objectState[4] = Object(_id, "Luke", Object::defaultDescription, NULLOBJECT, OPENABLE | EXIT, 4, 10, 5, CABIN_R2, 14);
- _objectState[5] = Object(_id, "Luke", Object::defaultDescription, NULLOBJECT, OPENABLE | EXIT | OPENED, 9, 3, 4, CABIN_R3, 9);
- _objectState[6] = Object(_id, "Luke", Object::defaultDescription, NULLOBJECT, OPENABLE | CLOSED | EXIT, 12, 12, 0, AIRLOCK, 2);
- _objectState[7] = Object(_id, "Knopf", "Er geh\224rt zu der gro\341en Luke.", BUTTON, PRESS, 13, 13, 0, NULLROOM, 0);
- _objectState[8] = Object(_id, "Leiter", Object::defaultDescription, NULLOBJECT, NULLTYPE, 14, 14, 0, NULLROOM, 0);
- _objectState[9] = Object(_id, "Ausgang", Object::defaultDescription, NULLOBJECT, EXIT, 15, 15, 0, HALL, 22);
+ _objectState[0] = Object(_id, kStringHatch, kStringDefaultDescription, HATCH1, OPENABLE | EXIT, 0, 6, 1, CABIN_L1, 15);
+ _objectState[1] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT, 1, 7, 2, CABIN_L2, 10);
+ _objectState[2] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT, 2, 8, 3, CABIN_L3, 5);
+ _objectState[3] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT, 5, 11, 6, CABIN_R1, 19);
+ _objectState[4] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT, 4, 10, 5, CABIN_R2, 14);
+ _objectState[5] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | EXIT | OPENED, 9, 3, 4, CABIN_R3, 9);
+ _objectState[6] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | CLOSED | EXIT, 12, 12, 0, AIRLOCK, 2);
+ _objectState[7] = Object(_id, kStringButton, kStringHatchButtonDescription, BUTTON, PRESS, 13, 13, 0, NULLROOM, 0);
+ _objectState[8] = Object(_id, kStringLadder, kStringDefaultDescription, NULLOBJECT, NULLTYPE, 14, 14, 0, NULLROOM, 0);
+ _objectState[9] = Object(_id, kStringExit, kStringDefaultDescription, NULLOBJECT, EXIT, 15, 15, 0, HALL, 22);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -184,12 +147,12 @@ public:
_id = HALL;
_shown[0] = true;
- _objectState[0] = Object(_id, "Luke", "Sie f\204hrt ins Cockpit.", NULLOBJECT, OPENABLE | EXIT, 4, 5, 1, COCKPIT, 10);
- _objectState[1] = Object(_id, "Luke", "Sie f\204hrt zur K\201che.", KITCHEN_HATCH, OPENABLE | EXIT, 0, 0, 0, NULLROOM, 1);
- _objectState[2] = Object(_id, "Luke", "Sie f\204hrt zu den Tiefschlafkammern.", NULLOBJECT, OPENABLE | CLOSED | EXIT, 1, 1, 2, SLEEP, 8);
- _objectState[3] = Object(_id, "Schlitz", "Es ist ein Keycard-Leser.", SLEEP_SLOT, COMBINABLE, 2, 2, 0, NULLROOM, 0);
- _objectState[4] = Object(_id, "Leiter", Object::defaultDescription, NULLOBJECT, NULLTYPE, 3, SLEEP, 0, NULLROOM, 0);
- _objectState[5] = Object(_id, "Gang", Object::defaultDescription, NULLOBJECT, EXIT, 6, 6, 0, CORRIDOR, 19);
+ _objectState[0] = Object(_id, kStringHatch, kStringCockpitHatchDescription, NULLOBJECT, OPENABLE | EXIT, 4, 5, 1, COCKPIT, 10);
+ _objectState[1] = Object(_id, kStringHatch, kStringKitchenHatchDescription, KITCHEN_HATCH, OPENABLE | EXIT, 0, 0, 0, NULLROOM, 1);
+ _objectState[2] = Object(_id, kStringHatch, kStringStasisHatchDescription, NULLOBJECT, OPENABLE | CLOSED | EXIT, 1, 1, 2, SLEEP, 8);
+ _objectState[3] = Object(_id, kStringSlot, kStringSlotDescription, SLEEP_SLOT, COMBINABLE, 2, 2, 0, NULLROOM, 0);
+ _objectState[4] = Object(_id, kStringLadder, kStringDefaultDescription, NULLOBJECT, NULLTYPE, 3, SLEEP, 0, NULLROOM, 0);
+ _objectState[5] = Object(_id, kStringCorridor, kStringDefaultDescription, NULLOBJECT, EXIT, 6, 6, 0, CORRIDOR, 19);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -205,13 +168,10 @@ public:
_id = SLEEP;
_shown[0] = true;
- _objectState[0] = Object(_id, "Luke", "Dies ist eine der Tiefschlafkammern.", CABINS, NULLTYPE, 0, 0, 0, NULLROOM, 0);
- _objectState[1] = Object(_id, "Luke", "Dies ist eine der Tiefschlafkammern.", CABIN, NULLTYPE, 1, 1, 0, NULLROOM, 0);
- _objectState[2] = Object(_id, "Computer", Object::defaultDescription, COMPUTER, NULLTYPE, 2, 2, 0, NULLROOM, 0);
- _objectState[3] = Object(_id, "Ausgang", Object::defaultDescription, NULLOBJECT, EXIT, 255, 255, 0, HALL, 22);
-
- _codeword_DE = "ZWEIUNDVIERZIG";
- _codeword_EN = "FORTYTWO";
+ _objectState[0] = Object(_id, kStringHatch, kStringStasisHatchDescription2, CABINS, NULLTYPE, 0, 0, 0, NULLROOM, 0);
+ _objectState[1] = Object(_id, kStringHatch, kStringStasisHatchDescription2, CABIN, NULLTYPE, 1, 1, 0, NULLROOM, 0);
+ _objectState[2] = Object(_id, kStringComputer, kStringDefaultDescription, COMPUTER, NULLTYPE, 2, 2, 0, NULLROOM, 0);
+ _objectState[3] = Object(_id, kStringExit, kStringDefaultDescription, NULLOBJECT, EXIT, 255, 255, 0, HALL, 22);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -219,8 +179,6 @@ public:
virtual void onEntrance();
private:
- Common::String _codeword_DE;
- Common::String _codeword_EN;
byte _color;
};
@@ -234,10 +192,10 @@ public:
_id = COCKPIT;
_shown[0] = true;
- _objectState[0] = Object(_id, "Instrumente", "Hmm, sieht ziemlich kompliziert aus.", INSTRUMENTS, NULLTYPE, 2, 2, 0, NULLROOM, 0);
- _objectState[1] = Object(_id, "Monitor", Object::defaultDescription, MONITOR, NULLTYPE, 0, 0, 0, NULLROOM, 0);
- _objectState[2] = Object(_id, "Monitor", "Dieser Monitor sagt dir nichts.", NULLOBJECT, TAKE, 1, 0, 0, NULLROOM, 0);
- _objectState[3] = Object(_id, "Ausgang", Object::defaultDescription, NULLOBJECT, EXIT, 255, 255, 0, HALL, 22);
+ _objectState[0] = Object(_id, kStringInstruments, kStringInstrumentsDescription1, INSTRUMENTS, NULLTYPE, 2, 2, 0, NULLROOM, 0);
+ _objectState[1] = Object(_id, kStringMonitor, kStringDefaultDescription, MONITOR, NULLTYPE, 0, 0, 0, NULLROOM, 0);
+ _objectState[2] = Object(_id, kStringMonitor, kStringMonitorDescription, NULLOBJECT, TAKE, 1, 0, 0, NULLROOM, 0);
+ _objectState[3] = Object(_id, kStringExit, kStringDefaultDescription, NULLOBJECT, EXIT, 255, 255, 0, HALL, 22);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -263,18 +221,18 @@ public:
_shown[4] = true;
_shown[5] = true;
- _objectState[0] = Object(_id, "Bild", "Herb!", NULLOBJECT, UNNECESSARY, 5, 5, 0, NULLROOM, 0);
- _objectState[1] = Object(_id, "Bild", "Toll!", NULLOBJECT, UNNECESSARY, 6, 6, 0, NULLROOM, 0);
- _objectState[2] = Object(_id, "Bild", "Genial!", NULLOBJECT, UNNECESSARY, 7, 7, 0, NULLROOM, 0);
- _objectState[3] = Object(_id, "Magnete", "Damit werden Sachen auf|dem Tisch festgehalten.", NULLOBJECT, UNNECESSARY, 8, 8, 0, NULLROOM, 0);
- _objectState[4] = Object(_id, "Bild", "Es scheint noch nicht fertig zu sein.", NULLOBJECT, UNNECESSARY, 9, 9, 0);
- _objectState[5] = Object(_id, "Stift", "Ein Kugelschreiber.", PEN, TAKE | COMBINABLE, 10, 10, 5 | 128);
- _objectState[6] = Object(_id, "Luke", Object::defaultDescription, NULLOBJECT, OPENABLE | OPENED | EXIT, 3, 3, 24 | 128, CORRIDOR, 9);
- _objectState[7] = Object(_id, "Schlitz", "Es ist ein Keycard-Leser.", NULLOBJECT, COMBINABLE, 0, 0, 0);
- _objectState[8] = Object(_id, "Schrank", Object::defaultDescription, NULLOBJECT, OPENABLE | CLOSED, 1, 1, 0);
- _objectState[9] = Object(_id, "Fach", Object::defaultDescription, NULLOBJECT, OPENABLE | CLOSED, 2, 2, 0);
- _objectState[10] = Object(_id, "Steckdose", Object::defaultDescription, SOCKET, COMBINABLE, 4, 4, 0);
- _objectState[11] = Object(_id, "Toilette", Object::defaultDescription, BATHROOM_DOOR, EXIT, 255, 255, 0, BATHROOM, 22);
+ _objectState[0] = Object(_id, kStringImage, kStringGenericDescription1, NULLOBJECT, UNNECESSARY, 5, 5, 0, NULLROOM, 0);
+ _objectState[1] = Object(_id, kStringImage, kStringGenericDescription2, NULLOBJECT, UNNECESSARY, 6, 6, 0, NULLROOM, 0);
+ _objectState[2] = Object(_id, kStringImage, kStringGenericDescription3, NULLOBJECT, UNNECESSARY, 7, 7, 0, NULLROOM, 0);
+ _objectState[3] = Object(_id, kStringMagnete, kStringMagneteDescription, NULLOBJECT, UNNECESSARY, 8, 8, 0, NULLROOM, 0);
+ _objectState[4] = Object(_id, kStringImage, kStringGenericDescription4, NULLOBJECT, UNNECESSARY, 9, 9, 0);
+ _objectState[5] = Object(_id, kStringPen, kStringPenDescription, PEN, TAKE | COMBINABLE, 10, 10, 5 | 128);
+ _objectState[6] = Object(_id, kStringHatch, kStringDefaultDescription, NULLOBJECT, OPENABLE | OPENED | EXIT, 3, 3, 24 | 128, CORRIDOR, 9);
+ _objectState[7] = Object(_id, kStringSlot, kStringSlotDescription, NULLOBJECT, COMBINABLE, 0, 0, 0);
+ _objectState[8] = Object(_id, kStringShelf, kStringDefaultDescription, NULLOBJECT, OPENABLE | CLOSED, 1, 1, 0);
+ _objectState[9] = Object(_id, kStringCompartment, kStringDefaultDescription, NULLOBJECT, OPENABLE | CLOSED, 2, 2, 0);
+ _objectState[10] = Object(_id, kStringSocket, kStringDefaultDescription, SOCKET, COMBINABLE, 4, 4, 0);
+ _objectState[11] = Object(_id, kStringToilet, kStringDefaultDescription, BATHROOM_DOOR, EXIT, 255, 255, 0, BATHROOM, 22);
}
};
@@ -304,31 +262,31 @@ public:
_shown[15] = false;
_shown[16] = true;
- _objectState[0] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",SLOT_KL1,COMBINABLE,31,31,0);
- _objectState[1] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",SLOT_KL2,COMBINABLE,32,32,0);
- _objectState[2] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",SLOT_KL3,COMBINABLE,33,33,0);
- _objectState[3] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",SLOT_KL4,COMBINABLE,45,45,0);
- _objectState[4] = Object(_id, "Schrank",Object::defaultDescription,SHELF_L1,OPENABLE | CLOSED,25,26,17);
- _objectState[5] = Object(_id, "Pistole","Es ist keine Munition drin.",PISTOL,TAKE,39,39,20);
- _objectState[6] = Object(_id, "Fach",Object::defaultDescription,SHELF_L2,OPENABLE | CLOSED,27,28,18);
- _objectState[7] = Object(_id, "B\201cher","Lauter wissenschaftliche B\201cher.",NULLOBJECT,UNNECESSARY,40,40,0);
- _objectState[8] = Object(_id, "Fach",Object::defaultDescription,SHELF_L3,OPENABLE | CLOSED,29,30,19);
- _objectState[9] = Object(_id, "Kabelrolle","Da sind mindestens zwanzig Meter drauf.", SPOOL,TAKE | COMBINABLE,41,41,21);
- _objectState[10] = Object(_id, "Fach",Object::defaultDescription,SHELF_L4,OPENABLE | CLOSED,43,44,22);
- _objectState[11] = Object(_id, "Buch",Object::defaultDescription,BOOK2,TAKE,46,46,23);
- _objectState[12] = Object(_id, "Unterw\204sche","Ich habe keine Lust, in|der Unterw\204sche des|Commanders rumzuw\201hlen.",NULLOBJECT,UNNECESSARY,34,34,0);
- _objectState[13] = Object(_id, "Unterw\204sche","Ich habe keine Lust, in|der Unterw\204sche des|Commanders rumzuw\201hlen.",NULLOBJECT,UNNECESSARY,35,35,0);
- _objectState[14] = Object(_id, "Kleider",Object::defaultDescription,NULLOBJECT,UNNECESSARY,36,36,0);
- _objectState[15] = Object(_id, "Krimskram","Es ist nichts brauchbares dabei.",NULLOBJECT,UNNECESSARY,37,37,0);
- _objectState[16] = Object(_id, "Krimskram","Es ist nichts brauchbares dabei.",NULLOBJECT,UNNECESSARY,38,38,0);
- _objectState[17] = Object(_id, "Magnete","Damit werden Sachen auf|dem Tisch festgehalten.",NULLOBJECT,UNNECESSARY,23,23,0);
- _objectState[18] = Object(_id, "Toilette",Object::defaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
- _objectState[19] = Object(_id, "Luke",Object::defaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,24 | 128,CORRIDOR,9);
- _objectState[20] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",NULLOBJECT,COMBINABLE,0,0,0);
- _objectState[21] = Object(_id, "Schrank",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
- _objectState[22] = Object(_id, "Fach",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
- _objectState[23] = Object(_id, "Steckdose",Object::defaultDescription,SOCKET,COMBINABLE,4,4,0);
- _objectState[24] = Object(_id, "Ordner","Darauf steht \"Dienstanweisungen|zur Mission Supernova\".|Es steht nichts wichtiges drin.",NULLOBJECT,UNNECESSARY,49,49,0);
+ _objectState[0] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_KL1,COMBINABLE,31,31,0);
+ _objectState[1] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_KL2,COMBINABLE,32,32,0);
+ _objectState[2] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_KL3,COMBINABLE,33,33,0);
+ _objectState[3] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_KL4,COMBINABLE,45,45,0);
+ _objectState[4] = Object(_id, kStringShelf,kStringDefaultDescription,SHELF_L1,OPENABLE | CLOSED,25,26,17);
+ _objectState[5] = Object(_id, kStringPistol,kStringPistolDescription,PISTOL,TAKE,39,39,20);
+ _objectState[6] = Object(_id, kStringCompartment,kStringDefaultDescription,SHELF_L2,OPENABLE | CLOSED,27,28,18);
+ _objectState[7] = Object(_id, kStringBooks,kStringBooksDescription,NULLOBJECT,UNNECESSARY,40,40,0);
+ _objectState[8] = Object(_id, kStringCompartment,kStringDefaultDescription,SHELF_L3,OPENABLE | CLOSED,29,30,19);
+ _objectState[9] = Object(_id, kStringSpool,kStringSpoolDescription, SPOOL,TAKE | COMBINABLE,41,41,21);
+ _objectState[10] = Object(_id, kStringCompartment,kStringDefaultDescription,SHELF_L4,OPENABLE | CLOSED,43,44,22);
+ _objectState[11] = Object(_id, kStringBook,kStringDefaultDescription,BOOK2,TAKE,46,46,23);
+ _objectState[12] = Object(_id, kStringUnderwear,kStringUnderwearDescription,NULLOBJECT,UNNECESSARY,34,34,0);
+ _objectState[13] = Object(_id, kStringUnderwear,kStringUnderwearDescription,NULLOBJECT,UNNECESSARY,35,35,0);
+ _objectState[14] = Object(_id, kStringClothes,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,36,36,0);
+ _objectState[15] = Object(_id, kStringJunk,kStringJunkDescription,NULLOBJECT,UNNECESSARY,37,37,0);
+ _objectState[16] = Object(_id, kStringJunk,kStringJunkDescription,NULLOBJECT,UNNECESSARY,38,38,0);
+ _objectState[17] = Object(_id, kStringMagnete,kStringMagneteDescription,NULLOBJECT,UNNECESSARY,23,23,0);
+ _objectState[18] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
+ _objectState[19] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,24 | 128,CORRIDOR,9);
+ _objectState[20] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0);
+ _objectState[21] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
+ _objectState[22] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
+ _objectState[23] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0);
+ _objectState[24] = Object(_id, kStringFolders,kStringFoldersDescription,NULLOBJECT,UNNECESSARY,49,49,0);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -356,23 +314,23 @@ public:
_shown[11] = false;
_shown[12] = true;
- _objectState[0] = Object(_id, "Poster","Ein Poster von \"Big Boss\".",NULLOBJECT,UNNECESSARY,11,11,0);
- _objectState[1] = Object(_id, "Poster","Ein Poster von \"Rock Desaster\".",NULLOBJECT,UNNECESSARY,12,12,0);
- _objectState[2] = Object(_id, "Box",Object::defaultDescription,NULLOBJECT,NULLTYPE,13,13,0);
- _objectState[3] = Object(_id, "Magnete","Damit werden Sachen auf|dem Tisch festgehalten.",NULLOBJECT,UNNECESSARY,14,14,0);
- _objectState[4] = Object(_id, "Schallplatte","Die Platte ist von \"Big Boss\".",RECORD,TAKE | COMBINABLE,15,15,8 | 128);
- _objectState[5] = Object(_id, "Schallplattenst\204nder","Du hast jetzt keine Zeit, in|der Plattensammlung rumzust\224bern.",NULLOBJECT,UNNECESSARY,16,16,0);
- _objectState[6] = Object(_id, "Knopf",Object::defaultDescription,TURNTABLE_BUTTON,PRESS,22,22,0);
- _objectState[7] = Object(_id, "Plattenspieler","Sieht aus, als k�me|er aus dem Museum.",TURNTABLE,UNNECESSARY | COMBINABLE,17,17,0);
- _objectState[8] = Object(_id, "Leitung",Object::defaultDescription,WIRE,COMBINABLE,18,18,0);
- _objectState[9] = Object(_id, "Leitung",Object::defaultDescription,WIRE2,COMBINABLE,19,19,0);
- _objectState[10] = Object(_id, "Stecker",Object::defaultDescription,PLUG,COMBINABLE,20,20,0);
- _objectState[11] = Object(_id, "Luke",Object::defaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,24 | 128,CORRIDOR,9);
- _objectState[12] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",NULLOBJECT,COMBINABLE,0,0,0);
- _objectState[13] = Object(_id, "Schrank",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
- _objectState[14] = Object(_id, "Fach",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
- _objectState[15] = Object(_id, "Steckdose",Object::defaultDescription,SOCKET,COMBINABLE,4,4,0);
- _objectState[16] = Object(_id, "Toilette",Object::defaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
+ _objectState[0] = Object(_id, kStringPoster,kStringPosterDescription1,NULLOBJECT,UNNECESSARY,11,11,0);
+ _objectState[1] = Object(_id, kStringPoster,kStringPosterDescription2,NULLOBJECT,UNNECESSARY,12,12,0);
+ _objectState[2] = Object(_id, kStringSpeaker,kStringDefaultDescription,NULLOBJECT,NULLTYPE,13,13,0);
+ _objectState[3] = Object(_id, kStringMagnete,kStringMagneteDescription,NULLOBJECT,UNNECESSARY,14,14,0);
+ _objectState[4] = Object(_id, kStringRecord,kStringRecordDescription,RECORD,TAKE | COMBINABLE,15,15,8 | 128);
+ _objectState[5] = Object(_id, kStringRecordStand,kStringRecordStandDescription,NULLOBJECT,UNNECESSARY,16,16,0);
+ _objectState[6] = Object(_id, kStringButton,kStringDefaultDescription,TURNTABLE_BUTTON,PRESS,22,22,0);
+ _objectState[7] = Object(_id, kStringTurntable,kStringTurntableDescription,TURNTABLE,UNNECESSARY | COMBINABLE,17,17,0);
+ _objectState[8] = Object(_id, kStringWire,kStringDefaultDescription,WIRE,COMBINABLE,18,18,0);
+ _objectState[9] = Object(_id, kStringWire,kStringDefaultDescription,WIRE2,COMBINABLE,19,19,0);
+ _objectState[10] = Object(_id, kStringPlug,kStringDefaultDescription,PLUG,COMBINABLE,20,20,0);
+ _objectState[11] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,24 | 128,CORRIDOR,9);
+ _objectState[12] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0);
+ _objectState[13] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
+ _objectState[14] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
+ _objectState[15] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0);
+ _objectState[16] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -390,15 +348,15 @@ public:
_shown[1] = true;
_shown[2] = true;
- _objectState[0] = Object(_id, "Bild","Manche Leute haben schon|einen komischen Geschmack.",NULLOBJECT,UNNECESSARY,5,5,0);
- _objectState[1] = Object(_id, "Zeichenger\204te","Auf dem Zettel sind lauter|unverst\204ndliche Skizzen und Berechnungen.|(Jedenfalls f\201r dich unverst\204ndlich.)",NULLOBJECT,UNNECESSARY,6,6,0);
- _objectState[2] = Object(_id, "Magnete","Damit werden Sachen auf|dem Tisch festgehalten.",NULLOBJECT,UNNECESSARY,7,7,0);
- _objectState[3] = Object(_id, "Luke",Object::defaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,15 | 128,CORRIDOR,5);
- _objectState[4] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",NULLOBJECT,COMBINABLE,0,0,0);
- _objectState[5] = Object(_id, "Schrank",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
- _objectState[6] = Object(_id, "Fach",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
- _objectState[7] = Object(_id, "Steckdose",Object::defaultDescription,SOCKET,COMBINABLE,4,4,0);
- _objectState[8] = Object(_id, "Toilette",Object::defaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
+ _objectState[0] = Object(_id, kStringImage,kStringImageDescription1,NULLOBJECT,UNNECESSARY,5,5,0);
+ _objectState[1] = Object(_id, kStringDrawingInstruments,kStringDrawingInstrumentsDescription,NULLOBJECT,UNNECESSARY,6,6,0);
+ _objectState[2] = Object(_id, kStringMagnete,kStringMagneteDescription,NULLOBJECT,UNNECESSARY,7,7,0);
+ _objectState[3] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,15 | 128,CORRIDOR,5);
+ _objectState[4] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0);
+ _objectState[5] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
+ _objectState[6] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
+ _objectState[7] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0);
+ _objectState[8] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
}
};
@@ -417,15 +375,15 @@ public:
_shown[4] = true;
_shown[5] = true;
- _objectState[0] = Object(_id, "Schachspiel","Es macht wohl Spa\341, an|der Decke Schach zu spielen.",NULLOBJECT,UNNECESSARY,11,11,0);
- _objectState[1] = Object(_id, "Tennisschl\204ger","Fliegt Boris Becker auch mit?",NULLOBJECT,UNNECESSARY,8,8,0);
- _objectState[2] = Object(_id, "Tennisball","Toll!",NULLOBJECT,UNNECESSARY,9,9,0);
- _objectState[3] = Object(_id, "Luke",Object::defaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,15 | 128,CORRIDOR,5);
- _objectState[4] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",NULLOBJECT,COMBINABLE,0,0,0);
- _objectState[5] = Object(_id, "Schrank",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
- _objectState[6] = Object(_id, "Fach",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
- _objectState[7] = Object(_id, "Steckdose",Object::defaultDescription,SOCKET,COMBINABLE,4,4,0);
- _objectState[8] = Object(_id, "Toilette",Object::defaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
+ _objectState[0] = Object(_id, kStringChessGame,kStringChessGameDescription1,NULLOBJECT,UNNECESSARY,11,11,0);
+ _objectState[1] = Object(_id, kStringTennisRacket,kStringTennisRacketDescription,NULLOBJECT,UNNECESSARY,8,8,0);
+ _objectState[2] = Object(_id, kStringTennisBall,kStringGenericDescription2,NULLOBJECT,UNNECESSARY,9,9,0);
+ _objectState[3] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | OPENED | EXIT,3,3,15 | 128,CORRIDOR,5);
+ _objectState[4] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0);
+ _objectState[5] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
+ _objectState[6] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
+ _objectState[7] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0);
+ _objectState[8] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
}
};
@@ -454,30 +412,30 @@ public:
_shown[14] = false;
_shown[15] = true;
- _objectState[0] = Object(_id, "Schachspiel","Dein Magnetschachspiel. Schach war|schon immer deine Leidenschaft.",CHESS,TAKE | COMBINABLE,12,12,7 | 128);
- _objectState[1] = Object(_id, "Bett","Das ist dein Bett. Toll, nicht wahr?",NULLOBJECT,NULLTYPE,13,13,0);
- _objectState[2] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",SLOT_K1,COMBINABLE,27,27,0);
- _objectState[3] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",SLOT_K2,COMBINABLE,28,28,0);
- _objectState[4] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",SLOT_K3,COMBINABLE,29,29,0);
- _objectState[5] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",SLOT_K4,COMBINABLE,30,30,0);
- _objectState[6] = Object(_id, "Fach","Das ist eins deiner drei F\204cher.",SHELF1,OPENABLE | CLOSED,14,18,9);
- _objectState[7] = Object(_id, "Alben","Deine Briefmarkensammlung.",NULLOBJECT,UNNECESSARY,14,14,0);
- _objectState[8] = Object(_id, "Fach","Das ist eins deiner drei F\204cher.",SHELF2,OPENABLE | CLOSED,15,19,10);
- _objectState[9] = Object(_id, "Seil","Es ist ungef\204hr 10 m lang und 4 cm dick.",ROPE,TAKE | COMBINABLE,15,15,12);
- _objectState[10] = Object(_id, "Schrank","Das ist dein Schrank.",SHELF3,OPENABLE | CLOSED,16,17,11);
- _objectState[11] = Object(_id, "Krimskram","Es ist nichts brauchbares dabei.",NULLOBJECT,UNNECESSARY,20,20,0);
- _objectState[12] = Object(_id, "Kleider","Es sind Standard-Weltraum-Klamotten.",NULLOBJECT,UNNECESSARY,21,21,0);
- _objectState[13] = Object(_id, "Unterw\204sche",Object::defaultDescription,NULLOBJECT,UNNECESSARY,22,22,0);
- _objectState[14] = Object(_id, "Str\201mpfe",Object::defaultDescription,NULLOBJECT,UNNECESSARY,23,23,0);
- _objectState[15] = Object(_id, "Fach","Das ist eins deiner drei F\204cher.",SHELF4,OPENABLE | CLOSED,24,25,13);
- _objectState[16] = Object(_id, "Buch","Es ist|\"Per Anhalter durch die Galaxis\"|von Douglas Adams.",BOOK,TAKE,26,26,14);
- _objectState[17] = Object(_id, "Discman","Es ist eine \"Mad Monkeys\"-CD darin.",DISCMAN,TAKE | COMBINABLE,33,33,16);
- _objectState[18] = Object(_id, "Luke",Object::defaultDescription,NULLOBJECT,OPENABLE | EXIT,3,3,15 | 128,CORRIDOR,5);
- _objectState[19] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",NULLOBJECT,COMBINABLE,0,0,0);
- _objectState[20] = Object(_id, "Schrank",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
- _objectState[21] = Object(_id, "Fach",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
- _objectState[22] = Object(_id, "Steckdose",Object::defaultDescription,SOCKET,COMBINABLE,4,4,0);
- _objectState[23] = Object(_id, "Toilette",Object::defaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
+ _objectState[0] = Object(_id, kStringChessGame,kStringChessGameDescription2,CHESS,TAKE | COMBINABLE,12,12,7 | 128);
+ _objectState[1] = Object(_id, kStringBed,kStringBedDescription,NULLOBJECT,NULLTYPE,13,13,0);
+ _objectState[2] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_K1,COMBINABLE,27,27,0);
+ _objectState[3] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_K2,COMBINABLE,28,28,0);
+ _objectState[4] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_K3,COMBINABLE,29,29,0);
+ _objectState[5] = Object(_id, kStringSlot,kStringSlotDescription,SLOT_K4,COMBINABLE,30,30,0);
+ _objectState[6] = Object(_id, kStringCompartment,kStringCompartmentDescription,SHELF1,OPENABLE | CLOSED,14,18,9);
+ _objectState[7] = Object(_id, kStringAlbums,kStringAlbumsDescription,NULLOBJECT,UNNECESSARY,14,14,0);
+ _objectState[8] = Object(_id, kStringCompartment,kStringCompartmentDescription,SHELF2,OPENABLE | CLOSED,15,19,10);
+ _objectState[9] = Object(_id, kStringRope,kStringRopeDescription,ROPE,TAKE | COMBINABLE,15,15,12);
+ _objectState[10] = Object(_id, kStringShelf,kStringShelfDescription,SHELF3,OPENABLE | CLOSED,16,17,11);
+ _objectState[11] = Object(_id, kStringJunk,kStringJunkDescription,NULLOBJECT,UNNECESSARY,20,20,0);
+ _objectState[12] = Object(_id, kStringClothes,kStringClothesDescription,NULLOBJECT,UNNECESSARY,21,21,0);
+ _objectState[13] = Object(_id, kStringUnderwear,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,22,22,0);
+ _objectState[14] = Object(_id, kStringSocks,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,23,23,0);
+ _objectState[15] = Object(_id, kStringCompartment,kStringCompartmentDescription,SHELF4,OPENABLE | CLOSED,24,25,13);
+ _objectState[16] = Object(_id, kStringBook,kStringBookHitchhiker,BOOK,TAKE,26,26,14);
+ _objectState[17] = Object(_id, kStringDiscman,kStringDiscmanDescription,DISCMAN,TAKE | COMBINABLE,33,33,16);
+ _objectState[18] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | EXIT,3,3,15 | 128,CORRIDOR,5);
+ _objectState[19] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,0,0,0);
+ _objectState[20] = Object(_id, kStringShelf,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,1,1,0);
+ _objectState[21] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,2,2,0);
+ _objectState[22] = Object(_id, kStringSocket,kStringDefaultDescription,SOCKET,COMBINABLE,4,4,0);
+ _objectState[23] = Object(_id, kStringToilet,kStringDefaultDescription,BATHROOM_DOOR,EXIT,255,255,0,BATHROOM,22);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -494,9 +452,9 @@ public:
_id = BATHROOM;
_shown[0] = true;
- _objectState[0] = Object(_id, "Klo","Ein Klo mit Saugmechanismus.",TOILET,NULLTYPE,0,0,0);
- _objectState[1] = Object(_id, "Dusche",Object::defaultDescription,SHOWER,NULLTYPE,1,1,0);
- _objectState[2] = Object(_id, "Ausgang",Object::defaultDescription,BATHROOM_EXIT,EXIT,255,255,0,CABIN_R3,2);
+ _objectState[0] = Object(_id, kStringBathroom,kStringBathroomDescription,TOILET,NULLTYPE,0,0,0);
+ _objectState[1] = Object(_id, kStringShower,kStringDefaultDescription,SHOWER,NULLTYPE,1,1,0);
+ _objectState[2] = Object(_id, kStringExit,kStringDefaultDescription,BATHROOM_EXIT,EXIT,255,255,0,CABIN_R3,2);
}
};
@@ -516,13 +474,13 @@ public:
_shown[5] = false;
_shown[6] = true;
- _objectState[0] = Object(_id, "Luke","Das ist eine Luke !!!",NULLOBJECT,EXIT | OPENABLE | OPENED | CLOSED,0,0,0,CORRIDOR,10);
- _objectState[1] = Object(_id, "Luke","Dies ist eine Luke !!!",NULLOBJECT,EXIT | OPENABLE | CLOSED,1,1,0,HOLD,14);
- _objectState[2] = Object(_id, "Knopf",Object::defaultDescription,BUTTON1,PRESS,2,2,0);
- _objectState[3] = Object(_id, "Knopf",Object::defaultDescription,BUTTON2,PRESS,3,3,0);
- _objectState[4] = Object(_id, "Helm","Es ist der Helm zum Raumanzug.",HELMET,TAKE,4,4,7);
- _objectState[5] = Object(_id, "Raumanzug","Der einzige Raumanzug, den die|anderen hiergelassen haben ...",SUIT,TAKE,5,5,8);
- _objectState[6] = Object(_id, "Versorgung","Es ist der Versorgungsteil zum Raumanzug.",LIFESUPPORT,TAKE,6,6,9);
+ _objectState[0] = Object(_id, kStringHatch,kStringHatchDescription1,NULLOBJECT,EXIT | OPENABLE | OPENED | CLOSED,0,0,0,CORRIDOR,10);
+ _objectState[1] = Object(_id, kStringHatch,kStringHatchDescription2,NULLOBJECT,EXIT | OPENABLE | CLOSED,1,1,0,HOLD,14);
+ _objectState[2] = Object(_id, kStringButton,kStringDefaultDescription,BUTTON1,PRESS,2,2,0);
+ _objectState[3] = Object(_id, kStringButton,kStringDefaultDescription,BUTTON2,PRESS,3,3,0);
+ _objectState[4] = Object(_id, kStringHelmet,kStringHelmetDescription,HELMET,TAKE,4,4,7);
+ _objectState[5] = Object(_id, kStringSuit,kStringSuitDescription,SUIT,TAKE,5,5,8);
+ _objectState[6] = Object(_id, kStringLifeSupport,kStringLifeSupportDescription,LIFESUPPORT,TAKE,6,6,9);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -539,27 +497,22 @@ public:
_id = HOLD;
_shown[0] = true;
- _objectState[0] = Object(_id, "",Object::defaultDescription,HOLD_WIRE,COMBINABLE,255,255,0);
- _objectState[1] = Object(_id, "Schrott","Da ist eine L\201sterklemme dran, die|noch ganz brauchbar aussieht.|Ich nehme sie mit.",SCRAP_LK,NULLTYPE,4,4,0);
- _objectState[2] = Object(_id, "L\201sterklemme",Object::defaultDescription,TERMINALSTRIP,COMBINABLE,255,255,0);
- _objectState[3] = Object(_id, "Schrott","Junge, Junge! Die Explosion hat ein|ganz sch\224nes Durcheinander angerichtet.",NULLOBJECT,NULLTYPE,5,5,0);
- _objectState[4] = Object(_id, "Reaktor","Das war einmal der Reaktor.",NULLOBJECT,NULLTYPE,6,6,0);
- _objectState[5] = Object(_id, "D\201se",Object::defaultDescription,NULLOBJECT,NULLTYPE,7,7,0);
- _objectState[6] = Object(_id, "blauer K\201rbis","Keine Ahnung, was das ist.",NULLOBJECT,NULLTYPE,8,8,0);
- _objectState[7] = Object(_id, "Luke",Object::defaultDescription,LANDINGMOD_OUTERHATCH,EXIT | OPENABLE,1,2,2,LANDINGMODULE,6);
- _objectState[8] = Object(_id, "Landef\204hre","Sie war eigentlich f\201r Bodenuntersuchungen|auf Arsano 3 gedacht.",NULLOBJECT,NULLTYPE,0,0,0);
- _objectState[9] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,AIRLOCK,22);
- _objectState[10] = Object(_id, "Luke","Sie f\201hrt nach drau\341en.",OUTERHATCH_TOP,EXIT | OPENABLE | OPENED,3,3,0,GENERATOR,8);
- _objectState[11] = Object(_id, "Generator","Er versorgt das Raumschiff mit Strom.",GENERATOR_TOP,EXIT,12,12,0,GENERATOR,8);
-
- _descriptionScrap = "Ein St\201ck Schrott.";
+ _objectState[0] = Object(_id, kNoString,kStringDefaultDescription,HOLD_WIRE,COMBINABLE,255,255,0);
+ _objectState[1] = Object(_id, kStringScrap,kStringScrapDescription1,SCRAP_LK,NULLTYPE,4,4,0);
+ _objectState[2] = Object(_id, kStringTerminalStrip,kStringDefaultDescription,TERMINALSTRIP,COMBINABLE,255,255,0);
+ _objectState[3] = Object(_id, kStringScrap,kStringScrapDescription2,NULLOBJECT,NULLTYPE,5,5,0);
+ _objectState[4] = Object(_id, kStringReactor,kStringReactorDescription,NULLOBJECT,NULLTYPE,6,6,0);
+ _objectState[5] = Object(_id, kStringNozzle,kStringDefaultDescription,NULLOBJECT,NULLTYPE,7,7,0);
+ _objectState[6] = Object(_id, kStringPumpkin,kStringPumpkinDescription,NULLOBJECT,NULLTYPE,8,8,0);
+ _objectState[7] = Object(_id, kStringHatch,kStringDefaultDescription,LANDINGMOD_OUTERHATCH,EXIT | OPENABLE,1,2,2,LANDINGMODULE,6);
+ _objectState[8] = Object(_id, kStringLandingModule,kStringLandingModuleDescription,NULLOBJECT,NULLTYPE,0,0,0);
+ _objectState[9] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,AIRLOCK,22);
+ _objectState[10] = Object(_id, kStringHatch,kStringHatchDescription3,OUTERHATCH_TOP,EXIT | OPENABLE | OPENED,3,3,0,GENERATOR,8);
+ _objectState[11] = Object(_id, kStringGenerator,kStringGeneratorDescription,GENERATOR_TOP,EXIT,12,12,0,GENERATOR,8);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
virtual void onEntrance();
-
-private:
- Common::String _descriptionScrap;
};
class ShipLandingModule : public Room {
@@ -572,12 +525,12 @@ public:
_id = LANDINGMODULE;
_shown[0] = true;
- _objectState[0] = Object(_id, "Steckdose",Object::defaultDescription,LANDINGMOD_SOCKET,COMBINABLE,1,1,0);
- _objectState[1] = Object(_id, "Knopf","Es ist ein Sicherheitsknopf.|Er kann nur mit einem spitzen|Gegenstand gedr\201ckt werden.",LANDINGMOD_BUTTON,PRESS | COMBINABLE,2,2,0);
- _objectState[2] = Object(_id, "Monitor",Object::defaultDescription,LANDINGMOD_MONITOR,NULLTYPE,3,3,0);
- _objectState[3] = Object(_id, "Tastatur",Object::defaultDescription,KEYBOARD,NULLTYPE,4,4,0);
- _objectState[4] = Object(_id, "",Object::defaultDescription,LANDINGMOD_WIRE,COMBINABLE,255,255,0);
- _objectState[5] = Object(_id, "Luke",Object::defaultDescription,LANDINGMOD_HATCH,EXIT | OPENABLE | OPENED | COMBINABLE, 0,0,1 | 128,HOLD,10);
+ _objectState[0] = Object(_id, kStringSocket,kStringDefaultDescription,LANDINGMOD_SOCKET,COMBINABLE,1,1,0);
+ _objectState[1] = Object(_id, kStringButton,kSafetyButtonDescription,LANDINGMOD_BUTTON,PRESS | COMBINABLE,2,2,0);
+ _objectState[2] = Object(_id, kStringMonitor,kStringDefaultDescription,LANDINGMOD_MONITOR,NULLTYPE,3,3,0);
+ _objectState[3] = Object(_id, kStringKeyboard,kStringDefaultDescription,KEYBOARD,NULLTYPE,4,4,0);
+ _objectState[4] = Object(_id, kNoString,kStringDefaultDescription,LANDINGMOD_WIRE,COMBINABLE,255,255,0);
+ _objectState[5] = Object(_id, kStringHatch,kStringDefaultDescription,LANDINGMOD_HATCH,EXIT | OPENABLE | OPENED | COMBINABLE, 0,0,1 | 128,HOLD,10);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -598,19 +551,19 @@ public:
_shown[4] = false;
_shown[5] = true;
- _objectState[0] = Object(_id, "langes Kabel mit Stecker",Object::defaultDescription,GENERATOR_WIRE,COMBINABLE,255,255,0);
- _objectState[1] = Object(_id, "leere Kabelrolle",Object::defaultDescription,NULLOBJECT,UNNECESSARY,255,255,0);
- _objectState[2] = Object(_id, "Keycard des Commanders","Hey, das ist die Keycard des Commanders!|Er mu\341 sie bei dem \201berst\201rzten|Aufbruch verloren haben.",KEYCARD2,COMBINABLE | TAKE,12,12,5 | 128);
- _objectState[3] = Object(_id, "Seil",Object::defaultDescription,GENERATOR_ROPE,COMBINABLE,255,255,0);
- _objectState[4] = Object(_id, "Luke","Sie f\201hrt nach drau\341en.",OUTERHATCH,EXIT | OPENABLE,1,2,1,OUTSIDE,22);
- _objectState[5] = Object(_id, "Luke",Object::defaultDescription,NULLOBJECT,OPENABLE | CLOSED,3,3,0);
- _objectState[6] = Object(_id, "Schlitz","Es ist ein Keycard-Leser.",NULLOBJECT,COMBINABLE,4,4,0);
- _objectState[7] = Object(_id, "Klappe",Object::defaultDescription,TRAP,OPENABLE,5,6,2);
- _objectState[8] = Object(_id, "Leitung",Object::defaultDescription,NULLOBJECT,NULLTYPE,7,7,0);
- _objectState[9] = Object(_id, "Spannungmessger\204t",Object::defaultDescription,VOLTMETER,NULLTYPE,9,9,0,NULLROOM,0);
- _objectState[10] = Object(_id, "Klemme",Object::defaultDescription,CLIP,COMBINABLE,8,8,0);
- _objectState[11] = Object(_id, "Leitung","Sie f\201hrt vom Generator zum Spannungmessger\204t.",SHORT_WIRE,COMBINABLE,10,10,0);
- _objectState[12] = Object(_id, "Leiter",Object::defaultDescription,LADDER,EXIT,0,0,0,HOLD,1);
+ _objectState[0] = Object(_id, kStringGeneratorWire,kStringDefaultDescription,GENERATOR_WIRE,COMBINABLE,255,255,0);
+ _objectState[1] = Object(_id, kStringEmptySpool,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,255,255,0);
+ _objectState[2] = Object(_id, kStringKeycard2,kStringKeycard2Description,KEYCARD2,COMBINABLE | TAKE,12,12,5 | 128);
+ _objectState[3] = Object(_id, kStringRope,kStringDefaultDescription,GENERATOR_ROPE,COMBINABLE,255,255,0);
+ _objectState[4] = Object(_id, kStringHatch,kStringHatchDescription3,OUTERHATCH,EXIT | OPENABLE,1,2,1,OUTSIDE,22);
+ _objectState[5] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,OPENABLE | CLOSED,3,3,0);
+ _objectState[6] = Object(_id, kStringSlot,kStringSlotDescription,NULLOBJECT,COMBINABLE,4,4,0);
+ _objectState[7] = Object(_id, kStringTrap,kStringDefaultDescription,TRAP,OPENABLE,5,6,2);
+ _objectState[8] = Object(_id, kStringWire,kStringDefaultDescription,NULLOBJECT,NULLTYPE,7,7,0);
+ _objectState[9] = Object(_id, kStringVoltmeter,kStringDefaultDescription,VOLTMETER,NULLTYPE,9,9,0,NULLROOM,0);
+ _objectState[10] = Object(_id, kStringClip,kStringDefaultDescription,CLIP,COMBINABLE,8,8,0);
+ _objectState[11] = Object(_id, kStringWire,kStringWireDescription,SHORT_WIRE,COMBINABLE,10,10,0);
+ _objectState[12] = Object(_id, kStringLadder,kStringDefaultDescription,LADDER,EXIT,0,0,0,HOLD,1);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -626,8 +579,8 @@ public:
_id = OUTSIDE;
_shown[0] = true;
- _objectState[0] = Object(_id, "Luke",Object::defaultDescription,NULLOBJECT,EXIT,0,0,0,GENERATOR,3);
- _objectState[1] = Object(_id, "Seil",Object::defaultDescription,NULLOBJECT,UNNECESSARY,255,255,0);
+ _objectState[0] = Object(_id, kStringHatch,kStringDefaultDescription,NULLOBJECT,EXIT,0,0,0,GENERATOR,3);
+ _objectState[1] = Object(_id, kStringRope,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,255,255,0);
}
};
@@ -642,10 +595,10 @@ public:
_id = OUTSIDE;
_shown[0] = true;
- _objectState[0] = Object(_id, "Seil",Object::defaultDescription,NULLOBJECT,UNNECESSARY | EXIT,0,0,0,GENERATOR,12);
- _objectState[1] = Object(_id, "Stein",Object::defaultDescription,STONE,NULLTYPE,1,1,0);
- _objectState[2] = Object(_id, "Stein",Object::defaultDescription,NULLOBJECT,NULLTYPE,2,2,0);
- _objectState[3] = Object(_id, "Loch","Es scheint eine H\224hle zu sein.",NULLOBJECT,NULLTYPE,255,255,0,CAVE,1);
+ _objectState[0] = Object(_id, kStringRope,kStringDefaultDescription,NULLOBJECT,UNNECESSARY | EXIT,0,0,0,GENERATOR,12);
+ _objectState[1] = Object(_id, kStringStone,kStringDefaultDescription,STONE,NULLTYPE,1,1,0);
+ _objectState[2] = Object(_id, kStringStone,kStringDefaultDescription,NULLOBJECT,NULLTYPE,2,2,0);
+ _objectState[3] = Object(_id, kStringCaveOpening,kStringCaveOpeningDescription,NULLOBJECT,NULLTYPE,255,255,0,CAVE,1);
}
virtual void onEntrance();
@@ -661,8 +614,8 @@ public:
_id = CAVE;
_shown[0] = false;
- _objectState[0] = Object(_id, "Ausgang","Hier bist du gerade hergekommen.",NULLOBJECT,EXIT,255,255,0,ROCKS,22);
- _objectState[1] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,MEETUP,2);
+ _objectState[0] = Object(_id, kStringExit,kStringExitDescription,NULLOBJECT,EXIT,255,255,0,ROCKS,22);
+ _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,MEETUP,2);
}
};
class ArsanoMeetup : public Room {
@@ -675,12 +628,12 @@ public:
_id = MEETUP;
_shown[0] = true;
- _objectState[0] = Object(_id, "H\224hle",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22);
- _objectState[1] = Object(_id, "Schild","Diese Schrift kannst du nicht lesen.",MEETUP_SIGN,NULLTYPE,0,0,0);
- _objectState[2] = Object(_id, "Eingang",Object::defaultDescription,DOOR,EXIT,1,1,0,ENTRANCE,7);
- _objectState[3] = Object(_id, "Stern",Object::defaultDescription,STAR,NULLTYPE,2,2,0);
- _objectState[4] = Object(_id, "Raumschiff",Object::defaultDescription,SPACESHIPS,COMBINABLE,3,3,0);
- _objectState[5] = Object(_id, "Raumschiff",Object::defaultDescription,SPACESHIP,COMBINABLE,4,4,0);
+ _objectState[0] = Object(_id, kStringCave,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22);
+ _objectState[1] = Object(_id, kStringSign,kStringSignDescription,MEETUP_SIGN,NULLTYPE,0,0,0);
+ _objectState[2] = Object(_id, kStringEntrance,kStringDefaultDescription,DOOR,EXIT,1,1,0,ENTRANCE,7);
+ _objectState[3] = Object(_id, kStringStar,kStringDefaultDescription,STAR,NULLTYPE,2,2,0);
+ _objectState[4] = Object(_id, kStringSpaceshift,kStringDefaultDescription,SPACESHIPS,COMBINABLE,3,3,0);
+ _objectState[5] = Object(_id, kStringSpaceshift,kStringDefaultDescription,SPACESHIP,COMBINABLE,4,4,0);
}
virtual void onEntrance();
@@ -701,24 +654,24 @@ public:
_id = ENTRANCE;
_shown[0] = true;
- _objectState[0] = Object(_id, "Portier","Du siehst doch selbst, wie er aussieht.",PORTER,TALK,0,0,0);
- _objectState[1] = Object(_id, "T\201r",Object::defaultDescription,NULLOBJECT,EXIT | OPENABLE | CLOSED,1,1,0,NULLROOM,5);
- _objectState[2] = Object(_id, "Schild","Diese Schrift kannst du nicht lesen.",KITCHEN_SIGN,NULLTYPE,2,2,0);
- _objectState[3] = Object(_id, "Kaugummi",Object::defaultDescription,SCHNUCK,TAKE,255,255,10+128);
- _objectState[4] = Object(_id, "Gummib\204rchen",Object::defaultDescription,SCHNUCK,TAKE,255,255,11+128);
- _objectState[5] = Object(_id, "Schokokugel",Object::defaultDescription,SCHNUCK,TAKE,255,255,12+128);
- _objectState[6] = Object(_id, "\232berraschungsei",Object::defaultDescription,EGG,TAKE,255,255,13+128);
- _objectState[7] = Object(_id, "Lakritz",Object::defaultDescription,SCHNUCK,TAKE,255,255,14+128);
- _objectState[8] = Object(_id, "Tablette","Die Plastikh\201lle zeigt einen|Mund mit einer Sprechblase. Was|darin steht, kannst du nicht lesen.",PILL,TAKE,255,255,0);
- _objectState[9] = Object(_id, "Schlitz",Object::defaultDescription,CAR_SLOT,COMBINABLE,6,6,0);
- _objectState[10] = Object(_id, "Automat","Sieht aus wie ein Kaugummiautomat.",NULLOBJECT,NULLTYPE,5,5,0);
- _objectState[11] = Object(_id, "Toilette","Die Toiletten sind denen|auf der Erde sehr \204hnlich.",ARSANO_BATHROOM,NULLTYPE,255,255,0);
- _objectState[12] = Object(_id, "Knopf",Object::defaultDescription,BATHROOM_BUTTON,PRESS,3,3,0);
- _objectState[13] = Object(_id, "Schild","Diese Schrift kannst du nicht lesen.",BATHROOM_SIGN,NULLTYPE,4,4,0);
- _objectState[14] = Object(_id, "Treppe",Object::defaultDescription,STAIRCASE,EXIT,8,8,0,REST,3);
- _objectState[15] = Object(_id, "Ausgang",Object::defaultDescription,MEETUP_EXIT,EXIT,255,255,0,MEETUP,22);
- _objectState[16] = Object(_id, "M\201nzen","Es sind seltsame|K\224pfe darauf abgebildet.",COINS,TAKE|COMBINABLE,255,255,0);
- _objectState[17] = Object(_id, "Tablettenh\201lle","Darauf steht:\"Wenn Sie diese|Schrift jetzt lesen k\224nnen,|hat die Tablette gewirkt.\"",PILL_HULL,TAKE,255,255,0);
+ _objectState[0] = Object(_id, kStringPorter,kStringPorterDescription,PORTER,TALK,0,0,0);
+ _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,NULLOBJECT,EXIT | OPENABLE | CLOSED,1,1,0,NULLROOM,5);
+ _objectState[2] = Object(_id, kStringSign,kStringSignDescription,KITCHEN_SIGN,NULLTYPE,2,2,0);
+ _objectState[3] = Object(_id, kStringChewingGum,kStringDefaultDescription,SCHNUCK,TAKE,255,255,10+128);
+ _objectState[4] = Object(_id, kStringGummyBears,kStringDefaultDescription,SCHNUCK,TAKE,255,255,11+128);
+ _objectState[5] = Object(_id, kStringChocolateBall,kStringDefaultDescription,SCHNUCK,TAKE,255,255,12+128);
+ _objectState[6] = Object(_id, kStringEgg,kStringDefaultDescription,EGG,TAKE,255,255,13+128);
+ _objectState[7] = Object(_id, kStringLiquorice,kStringDefaultDescription,SCHNUCK,TAKE,255,255,14+128);
+ _objectState[8] = Object(_id, kStringPill,kStringPillDescription,PILL,TAKE,255,255,0);
+ _objectState[9] = Object(_id, kStringSlot,kStringDefaultDescription,CAR_SLOT,COMBINABLE,6,6,0);
+ _objectState[10] = Object(_id, kStringVendingMachine,kStringVendingMachineDescription,NULLOBJECT,NULLTYPE,5,5,0);
+ _objectState[11] = Object(_id, kStringToilet,kStringToiletDescription,ARSANO_BATHROOM,NULLTYPE,255,255,0);
+ _objectState[12] = Object(_id, kStringButton,kStringDefaultDescription,BATHROOM_BUTTON,PRESS,3,3,0);
+ _objectState[13] = Object(_id, kStringSign,kStringSignDescription,BATHROOM_SIGN,NULLTYPE,4,4,0);
+ _objectState[14] = Object(_id, kStringStaircase,kStringDefaultDescription,STAIRCASE,EXIT,8,8,0,REST,3);
+ _objectState[15] = Object(_id, kStringExit,kStringDefaultDescription,MEETUP_EXIT,EXIT,255,255,0,MEETUP,22);
+ _objectState[16] = Object(_id, kStringCoins,kStringCoinsDescription,COINS,TAKE|COMBINABLE,255,255,0);
+ _objectState[17] = Object(_id, kStringTabletPackage,kStringTabletPackageDescription,PILL_HULL,TAKE,255,255,0);
_dialog1[0] = "Wieso das denn nicht?";
_dialog1[1] = "Wo bin ich hier?";
@@ -757,9 +710,9 @@ public:
_id = REST;
_shown[0] = true;
- _objectState[0] = Object(_id, "Treppe",Object::defaultDescription,NULLOBJECT,EXIT,0,0,0,ENTRANCE,17);
- _objectState[1] = Object(_id, "Stuhl",Object::defaultDescription,NULLOBJECT,EXIT,1,1,0,ROGER,2);
- _objectState[2] = Object(_id, "Schuhe","Wie ist der denn mit|Schuhen hier reingekommen?",NULLOBJECT,NULLTYPE,2,2,0);
+ _objectState[0] = Object(_id, kStringStaircase,kStringDefaultDescription,NULLOBJECT,EXIT,0,0,0,ENTRANCE,17);
+ _objectState[1] = Object(_id, kStringChair,kStringDefaultDescription,NULLOBJECT,EXIT,1,1,0,ROGER,2);
+ _objectState[2] = Object(_id, kStringShoes,kStringShoesDescription,NULLOBJECT,NULLTYPE,2,2,0);
_chewing = true;
}
@@ -780,15 +733,15 @@ public:
_id = ROGER;
_shown[0] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,REST,19);
- _objectState[1] = Object(_id, "Froschgesicht",Object::defaultDescription,ROGER_W,TALK,0,0,0);
- _objectState[2] = Object(_id, "Gekritzel","\"Mr Spock was here\"",NULLOBJECT,NULLTYPE,3,3,0);
- _objectState[3] = Object(_id, "Brieftasche",Object::defaultDescription,WALLET,TAKE,1,1,4);
- _objectState[4] = Object(_id, "Speisekarte","\"Heute empfehlen wir:|Fonua Opra mit Ulk.\"",NULLOBJECT,UNNECESSARY,2,2,0);
- _objectState[5] = Object(_id, "Tasse","Sie enth\204lt eine gr\201nliche Fl\201ssigkeit.",CUP,UNNECESSARY,4,4,0);
- _objectState[6] = Object(_id, "Schachspiel",Object::defaultDescription,NULLOBJECT,UNNECESSARY,255,255,0);
- _objectState[7] = Object(_id, "10-Buckazoid-Schein","Nicht gerade sehr viel Geld.",NULLOBJECT,TAKE|COMBINABLE,255,255,0);
- _objectState[8] = Object(_id, "Keycard von Roger",Object::defaultDescription,KEYCARD_R,TAKE|COMBINABLE,255,255,0);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,REST,19);
+ _objectState[1] = Object(_id, kStringFrogFace,kStringDefaultDescription,ROGER_W,TALK,0,0,0);
+ _objectState[2] = Object(_id, kStringScrible,kStringScribleDescription,NULLOBJECT,NULLTYPE,3,3,0);
+ _objectState[3] = Object(_id, kStringWallet,kStringDefaultDescription,WALLET,TAKE,1,1,4);
+ _objectState[4] = Object(_id, kStringMenu,kStringMenuDescription,NULLOBJECT,UNNECESSARY,2,2,0);
+ _objectState[5] = Object(_id, kStringCup,kStringCupDescription,CUP,UNNECESSARY,4,4,0);
+ _objectState[6] = Object(_id, kStringChessGame,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,255,255,0);
+ _objectState[7] = Object(_id, kStringBill,kStringBillDescription,NULLOBJECT,TAKE|COMBINABLE,255,255,0);
+ _objectState[8] = Object(_id, kStringKeycard3,kStringDefaultDescription,KEYCARD_R,TAKE|COMBINABLE,255,255,0);
_dialog1[0] = "K\224nnten Sie mir ein Gericht empfehlen?";
_dialog1[1] = "Wie lange dauert es denn noch bis zur Supernova?";
@@ -817,17 +770,17 @@ public:
_id = GLIDER;
_shown[0] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,MEETUP,15);
- _objectState[1] = Object(_id, "Knopf",Object::defaultDescription,GLIDER_BUTTON1,PRESS,0,0,0);
- _objectState[2] = Object(_id, "Knopf",Object::defaultDescription,GLIDER_BUTTON2,PRESS,1,1,0);
- _objectState[3] = Object(_id, "Knopf",Object::defaultDescription,GLIDER_BUTTON3,PRESS,2,2,0);
- _objectState[4] = Object(_id, "Knopf",Object::defaultDescription,GLIDER_BUTTON4,PRESS,3,3,0);
- _objectState[5] = Object(_id, "Keycard von Roger",Object::defaultDescription,GLIDER_KEYCARD,TAKE|COMBINABLE,255,255,0);
- _objectState[6] = Object(_id, "Schlitz",Object::defaultDescription,GLIDER_SLOT,COMBINABLE,4,4,0);
- _objectState[7] = Object(_id, "Fach",Object::defaultDescription,NULLOBJECT,OPENABLE,5,6,6);
- _objectState[8] = Object(_id, "Tastatur",Object::defaultDescription,GLIDER_BUTTONS,NULLTYPE,7,7,0);
- _objectState[9] = Object(_id, "Anzeige","Hmm, seltsame Anzeigen.",GLIDER_DISPLAY,NULLTYPE,8,8,0);
- _objectState[10] = Object(_id, "Instrumente","Hmm, seltsame Anzeigen.",GLIDER_INSTRUMENTS,NULLTYPE,9,9,0);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,MEETUP,15);
+ _objectState[1] = Object(_id, kStringButton,kStringDefaultDescription,GLIDER_BUTTON1,PRESS,0,0,0);
+ _objectState[2] = Object(_id, kStringButton,kStringDefaultDescription,GLIDER_BUTTON2,PRESS,1,1,0);
+ _objectState[3] = Object(_id, kStringButton,kStringDefaultDescription,GLIDER_BUTTON3,PRESS,2,2,0);
+ _objectState[4] = Object(_id, kStringButton,kStringDefaultDescription,GLIDER_BUTTON4,PRESS,3,3,0);
+ _objectState[5] = Object(_id, kStringKeycard,kStringDefaultDescription,GLIDER_KEYCARD,TAKE|COMBINABLE,255,255,0);
+ _objectState[6] = Object(_id, kStringSlot,kStringDefaultDescription,GLIDER_SLOT,COMBINABLE,4,4,0);
+ _objectState[7] = Object(_id, kStringCompartment,kStringDefaultDescription,NULLOBJECT,OPENABLE,5,6,6);
+ _objectState[8] = Object(_id, kStringKeyboard,kStringDefaultDescription,GLIDER_BUTTONS,NULLTYPE,7,7,0);
+ _objectState[9] = Object(_id, kStringAnnouncement,kStringAnnouncementDescription,GLIDER_DISPLAY,NULLTYPE,8,8,0);
+ _objectState[10] = Object(_id, kStringInstruments,kStringAnnouncementDescription,GLIDER_INSTRUMENTS,NULLTYPE,9,9,0);
}
virtual void animation();
@@ -846,9 +799,9 @@ public:
_id = MEETUP2;
_shown[0] = true;
- _objectState[0] = Object(_id, "Roger W.",Object::defaultDescription,ROGER_W,TALK,255,255,0);
- _objectState[1] = Object(_id, "Raumschiff",Object::defaultDescription,SPACESHIP,COMBINABLE,255,255,0);
- _objectState[2] = Object(_id, "Höhle",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22);
+ _objectState[0] = Object(_id, kStringRoger,kStringDefaultDescription,ROGER_W,TALK,255,255,0);
+ _objectState[1] = Object(_id, kStringSpaceshift,kStringDefaultDescription,SPACESHIP,COMBINABLE,255,255,0);
+ _objectState[2] = Object(_id, kStringCave,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22);
_dialog1[0] = "Ach, Ihnen geh\224rt die. Ich habe sie eben im Sand gefunden.";
_dialog1[1] = "Nein, tut mir leid.";
@@ -884,9 +837,9 @@ public:
_id = MEETUP3;
_shown[0] = true;
- _objectState[0] = Object(_id, "Ufo","Der Eingang scheint offen zu sein.",UFO,EXIT,0,0,0,NULLROOM,3);
- _objectState[1] = Object(_id, "Stern",Object::defaultDescription,STAR,NULLTYPE,1,1,0);
- _objectState[2] = Object(_id, "H\224hle",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22);
+ _objectState[0] = Object(_id, kStringUfo,kStringUfoDescription,UFO,EXIT,0,0,0,NULLROOM,3);
+ _objectState[1] = Object(_id, kStringStar,kStringDefaultDescription,STAR,NULLTYPE,1,1,0);
+ _objectState[2] = Object(_id, kStringCave,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22);
_dialog2[0] = "Wo bin ich hier?";
_dialog2[1] = "Was wollen Sie von mir?";
@@ -945,16 +898,16 @@ public:
_shown[30] = false;
_shown[31] = true;
- _objectState[0] = Object(_id, "Knopf",Object::defaultDescription,CELL_BUTTON,PRESS,1,1,0);
- _objectState[1] = Object(_id, "T\201r",Object::defaultDescription,CELL_DOOR,EXIT|OPENABLE|CLOSED,0,0,31+128,CORRIDOR4,1);
- _objectState[2] = Object(_id, "Tablett","Es ist irgendein Fra\341 und|etwas zu Trinken darauf.",TRAY,UNNECESSARY,255,255,0);
- _objectState[3] = Object(_id, "Stange","Es scheint eine Lampe zu sein.",NULLOBJECT,COMBINABLE,3,3,0);
- _objectState[4] = Object(_id, "Augen","Es ist nur ein Bild.",NULLOBJECT,NULLTYPE,4,4,0);
- _objectState[5] = Object(_id, "Leitung",Object::defaultDescription,CELL_WIRE,COMBINABLE|TAKE,6,6,0);
- _objectState[6] = Object(_id, "Steckdose","Sieht etwas anders aus als auf der Erde.",SOCKET,COMBINABLE,5,5,0);
- _objectState[7] = Object(_id, "Metallblock","Er ist ziemlich schwer.",MAGNET,TAKE|COMBINABLE,255,255,30);
- _objectState[8] = Object(_id, "Roboter","Den hast du erledigt.",NULLOBJECT,NULLTYPE,255,255,0);
- _objectState[9] = Object(_id, "Tisch","Ein kleiner Metalltisch.",CELL_TABLE,COMBINABLE,2,2,0);
+ _objectState[0] = Object(_id, kStringButton,kStringDefaultDescription,CELL_BUTTON,PRESS,1,1,0);
+ _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,CELL_DOOR,EXIT|OPENABLE|CLOSED,0,0,31+128,CORRIDOR4,1);
+ _objectState[2] = Object(_id, kStringTray,kStringTrayDescription,TRAY,UNNECESSARY,255,255,0);
+ _objectState[3] = Object(_id, kStringLamp,kStringLampDescription,NULLOBJECT,COMBINABLE,3,3,0);
+ _objectState[4] = Object(_id, kStringEyes,kStringEyesDescription,NULLOBJECT,NULLTYPE,4,4,0);
+ _objectState[5] = Object(_id, kStringWire,kStringDefaultDescription,CELL_WIRE,COMBINABLE|TAKE,6,6,0);
+ _objectState[6] = Object(_id, kStringSocket,kStringSocketDescription,SOCKET,COMBINABLE,5,5,0);
+ _objectState[7] = Object(_id, kStringMetalBlock,kStringMetalBlockDescription,MAGNET,TAKE|COMBINABLE,255,255,30);
+ _objectState[8] = Object(_id, kStringRobot,kStringRobotDescription,NULLOBJECT,NULLTYPE,255,255,0);
+ _objectState[9] = Object(_id, kStringTable,kStringTableDescription,CELL_TABLE,COMBINABLE,2,2,0);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -996,8 +949,8 @@ public:
_shown[24] = false;
_shown[25] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,2,2,0,GUARD3,2);
- _objectState[1] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR2,22);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,GUARD3,2);
+ _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR2,22);
}
virtual void onEntrance();
@@ -1036,9 +989,9 @@ public:
_shown[23] = false;
_shown[24] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR1,2);
- _objectState[1] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR3,22);
- _objectState[2] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,1,1,0,CORRIDOR4,14);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR1,2);
+ _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR3,22);
+ _objectState[2] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,1,1,0,CORRIDOR4,14);
}
virtual void onEntrance();
@@ -1076,7 +1029,7 @@ public:
_shown[22] = false;
_shown[23] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR2,2);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR2,2);
}
virtual void onEntrance();
@@ -1117,12 +1070,12 @@ public:
_shown[25] = false;
_shown[26] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,0,0,0,CORRIDOR2,10);
- _objectState[1] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,1,1,0,GUARD,14);
- _objectState[2] = Object(_id, "Zellent\201r","Hier warst du eingesperrt.",DOOR,EXIT|OPENABLE|OPENED|CLOSED,7,7,0,CELL,16);
- _objectState[3] = Object(_id, "Laptop",Object::defaultDescription,NEWSPAPER,TAKE,6,6,8);
- _objectState[4] = Object(_id, "Armbanduhr",Object::defaultDescription,WATCH,TAKE|COMBINABLE,255,255,8);
- _objectState[5] = Object(_id, "Tisch",Object::defaultDescription,TABLE,COMBINABLE,5,5,0);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,0,0,0,CORRIDOR2,10);
+ _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,1,1,0,GUARD,14);
+ _objectState[2] = Object(_id, kStringCellDoor,kStringCellDoorDescription,DOOR,EXIT|OPENABLE|OPENED|CLOSED,7,7,0,CELL,16);
+ _objectState[3] = Object(_id, kStringLaptop,kStringDefaultDescription,NEWSPAPER,TAKE,6,6,8);
+ _objectState[4] = Object(_id, kStringWristwatch,kStringDefaultDescription,WATCH,TAKE|COMBINABLE,255,255,8);
+ _objectState[5] = Object(_id, kStringTable,kStringDefaultDescription,TABLE,COMBINABLE,5,5,0);
}
virtual void onEntrance();
@@ -1163,8 +1116,8 @@ public:
_shown[23] = true;
_shown[24] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,DOOR,EXIT,2,2,0,NULLROOM,2);
- _objectState[1] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR6,22);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,DOOR,EXIT,2,2,0,NULLROOM,2);
+ _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR6,22);
_dialog1[0] = "\216h ... nein, mein Name ist M\201ller.";
_dialog1[1] = "Oh, ich habe mich im Gang vertan.";
@@ -1219,9 +1172,9 @@ public:
_shown[24] = true;
_shown[25] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR5,2);
- _objectState[1] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR7,22);
- _objectState[2] = Object(_id, "T\201r",Object::defaultDescription,DOOR,OPENABLE|CLOSED,255,255,0,CORRIDOR8,13);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR5,2);
+ _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR7,22);
+ _objectState[2] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,OPENABLE|CLOSED,255,255,0,CORRIDOR8,13);
}
virtual void onEntrance();
@@ -1262,8 +1215,8 @@ public:
_shown[24] = true;
_shown[25] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR6,2);
- _objectState[1] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,3,3,0,GUARD,22);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,CORRIDOR6,2);
+ _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,GUARD,22);
}
virtual void onEntrance();
@@ -1306,8 +1259,8 @@ public:
_shown[27] = false;
_shown[28] = true;
- _objectState[0] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE,0,0,0,CORRIDOR6,10);
- _objectState[1] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,3,3,0,BCORRIDOR,22);
+ _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE,0,0,0,CORRIDOR6,10);
+ _objectState[1] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,BCORRIDOR,22);
}
virtual void onEntrance();
@@ -1351,8 +1304,8 @@ public:
_shown[27] = false;
_shown[28] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,2,2,0,BCORRIDOR,2);
- _objectState[1] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE,0,0,0,GUARD,10);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,2,2,0,BCORRIDOR,2);
+ _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE,0,0,0,GUARD,10);
}
virtual void onEntrance();
@@ -1371,23 +1324,20 @@ public:
_shown[2] = false;
_shown[3] = true;
- _objectState[0] = Object(_id, "S\204ule",Object::defaultDescription,PILLAR1,NULLTYPE,4,4,0);
- _objectState[1] = Object(_id, "S\204ule",Object::defaultDescription,PILLAR2,NULLTYPE,5,5,0);
- _objectState[2] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,6,6,0,CORRIDOR8,2);
- _objectState[3] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,7,7,0,CORRIDOR9,22);
- _objectState[4] = Object(_id, "T\201r","Auf einem Schild an der T\201r steht \"Dr. Alab Hansi\".",DOOR1,EXIT|OPENABLE|CLOSED|OCCUPIED,0,0,1,OFFICE_L1,6);
- _objectState[5] = Object(_id, "T\201r","Auf einem Schild an der T\201r steht \"Saval Lun\".",DOOR2,EXIT|OPENABLE|CLOSED|OCCUPIED,1,1,2,OFFICE_L2,16);
- _objectState[6] = Object(_id, "T\201r","Auf einem Schild an der T\201r steht \"Prof. Dr. Ugnul Tschabb\".",DOOR3,EXIT|OPENABLE|OPENED,2,2,3,OFFICE_R1,8);
- _objectState[7] = Object(_id, "T\201r","Auf einem Schild an der T\201r steht \"Alga Hurz Li\".",DOOR4,EXIT|OPENABLE|CLOSED|OCCUPIED,3,3,4,OFFICE_R2,18);
-
- _dontEnter = "Diese T\201r w\201rde ich lieber|nicht \224ffnen. Nach dem Schild zu|urteilen, ist jemand in dem Raum.";
+ _objectState[0] = Object(_id, kStringPillar,kStringDefaultDescription,PILLAR1,NULLTYPE,4,4,0);
+ _objectState[1] = Object(_id, kStringPillar,kStringDefaultDescription,PILLAR2,NULLTYPE,5,5,0);
+ _objectState[2] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,6,6,0,CORRIDOR8,2);
+ _objectState[3] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,7,7,0,CORRIDOR9,22);
+ _objectState[4] = Object(_id, kStringDoor,kStringDoorDescription1,DOOR1,EXIT|OPENABLE|CLOSED|OCCUPIED,0,0,1,OFFICE_L1,6);
+ _objectState[5] = Object(_id, kStringDoor,kStringDoorDescription2,DOOR2,EXIT|OPENABLE|CLOSED|OCCUPIED,1,1,2,OFFICE_L2,16);
+ _objectState[6] = Object(_id, kStringDoor,kStringDoorDescription3,DOOR3,EXIT|OPENABLE|OPENED,2,2,3,OFFICE_R1,8);
+ _objectState[7] = Object(_id, kStringDoor,kStringDoorDescription4,DOOR4,EXIT|OPENABLE|CLOSED|OCCUPIED,3,3,4,OFFICE_R2,18);
}
virtual void onEntrance();
virtual bool interact(Action verb, Object &obj1, Object &obj2);
private:
- Common::String _dontEnter;
byte _nameSeen;
};
class AxacussIntersection : public Room {
@@ -1400,13 +1350,13 @@ public:
_id = GUARD;
_shown[0] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,CORRIDOR4,21);
- _objectState[1] = Object(_id, "Gang",Object::defaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR7,5);
- _objectState[2] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE,1,1,6,CORRIDOR9,3);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,CORRIDOR4,21);
+ _objectState[1] = Object(_id, kStringCorridor,kStringDefaultDescription,NULLOBJECT,EXIT,3,3,0,CORRIDOR7,5);
+ _objectState[2] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE,1,1,6,CORRIDOR9,3);
// Originally GUARD was ObjectID..
- _objectState[3] = Object(_id, "Axacussaner","Du m\201\341test ihn irgendwie ablenken.",INSTRUMENTS,TALK,0,0,0);
- _objectState[4] = Object(_id, "Bild","Komisches Bild.",NULLOBJECT,NULLTYPE,2,2,0);
- _objectState[5] = Object(_id, "Karte","Darauf steht: \"Generalkarte\".",MASTERKEYCARD,TAKE|COMBINABLE,255,255,1);
+ _objectState[3] = Object(_id, kStringAxacussan,kStringAxacussanDescription,INSTRUMENTS,TALK,0,0,0);
+ _objectState[4] = Object(_id, kStringImage,kStringImageDescription2,NULLOBJECT,NULLTYPE,2,2,0);
+ _objectState[5] = Object(_id, kStringMastercard,kStringMastercardDescription,MASTERKEYCARD,TAKE|COMBINABLE,255,255,1);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -1421,14 +1371,14 @@ public:
_id = GUARD3;
_shown[0] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,CORRIDOR1,22);
- _objectState[1] = Object(_id, "T\201r",Object::defaultDescription,NULLOBJECT,EXIT|OPENABLE|CLOSED,0,0,0,NULLROOM,20);
- _objectState[2] = Object(_id, "T\201r",Object::defaultDescription,NULLOBJECT,EXIT|OPENABLE|CLOSED,1,1,0,NULLROOM,15);
- _objectState[3] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE,2,2,11,OFFICE_L,0);
- _objectState[4] = Object(_id, "Lampe",Object::defaultDescription,LAMP,COMBINABLE,3,3,0);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,CORRIDOR1,22);
+ _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,NULLOBJECT,EXIT|OPENABLE|CLOSED,0,0,0,NULLROOM,20);
+ _objectState[2] = Object(_id, kStringDoor,kStringDefaultDescription,NULLOBJECT,EXIT|OPENABLE|CLOSED,1,1,0,NULLROOM,15);
+ _objectState[3] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE,2,2,11,OFFICE_L,0);
+ _objectState[4] = Object(_id, kStringLamp2,kStringDefaultDescription,LAMP,COMBINABLE,3,3,0);
// Originally GUARD was ObjectID..
- _objectState[5] = Object(_id, "Axacussaner",Object::defaultDescription,INSTRUMENTS,TALK,5,5,0);
- _objectState[6] = Object(_id, "Bild","Seltsam!",NULLOBJECT,NULLTYPE,4,4,0);
+ _objectState[5] = Object(_id, kStringAxacussan,kStringDefaultDescription,INSTRUMENTS,TALK,5,5,0);
+ _objectState[6] = Object(_id, kStringImage,kStringGenericDescription5,NULLOBJECT,NULLTYPE,4,4,0);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -1459,11 +1409,11 @@ public:
_shown[15] = false;
_shown[16] = true;
- _objectState[0] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE|OPENED,6,6,9,BCORRIDOR,9);
- _objectState[1] = Object(_id, "Computer",Object::defaultDescription,COMPUTER,COMBINABLE,4,4,0);
- _objectState[2] = Object(_id, "Geld","Es sind 500 Xa.",TICKETS,TAKE,255,255,0);
- _objectState[3] = Object(_id, "Schließfach","Es hat ein elektronisches Zahlenschlo\341.",LOCKER,OPENABLE|CLOSED,5,5,0);
- _objectState[4] = Object(_id, "Brief",Object::defaultDescription,LETTER,UNNECESSARY,3,3,0);
+ _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,6,6,9,BCORRIDOR,9);
+ _objectState[1] = Object(_id, kStringComputer,kStringDefaultDescription,COMPUTER,COMBINABLE,4,4,0);
+ _objectState[2] = Object(_id, kStringMoney,kStringMoneyDescription1,TICKETS,TAKE,255,255,0);
+ _objectState[3] = Object(_id, kStringLocker,kStringLockerDescription,LOCKER,OPENABLE|CLOSED,5,5,0);
+ _objectState[4] = Object(_id, kStringLetter,kStringDefaultDescription,LETTER,UNNECESSARY,3,3,0);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -1494,11 +1444,11 @@ public:
_shown[15] = false;
_shown[16] = true;
- _objectState[0] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE|OPENED,6,6,9,BCORRIDOR,9);
- _objectState[1] = Object(_id, "Computer",Object::defaultDescription,COMPUTER,COMBINABLE,4,4,0);
- _objectState[2] = Object(_id, "W\201rfel","Sonderbar!",NULLOBJECT,NULLTYPE,0,0,0);
- _objectState[3] = Object(_id, "Bild","Affenstark!",NULLOBJECT,NULLTYPE,1,1,0);
- _objectState[4] = Object(_id, "Komisches Ding","Wundersam!",NULLOBJECT,UNNECESSARY,2,2,0);
+ _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,6,6,9,BCORRIDOR,9);
+ _objectState[1] = Object(_id, kStringComputer,kStringDefaultDescription,COMPUTER,COMBINABLE,4,4,0);
+ _objectState[2] = Object(_id, kStringCube,kStringGenericDescription6,NULLOBJECT,NULLTYPE,0,0,0);
+ _objectState[3] = Object(_id, kStringImage,kStringGenericDescription7,NULLOBJECT,NULLTYPE,1,1,0);
+ _objectState[4] = Object(_id, kStringStrangeThing,kStringGenericDescription8,NULLOBJECT,UNNECESSARY,2,2,0);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -1516,12 +1466,12 @@ public:
_shown[2] = false;
_shown[3] = true;
- _objectState[0] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE|OPENED,0,0,3,BCORRIDOR,5);
- _objectState[1] = Object(_id, "Computer",Object::defaultDescription,COMPUTER,COMBINABLE,4,4,0);
- _objectState[2] = Object(_id, "Bild","Es ist ein Axacussanerkopf auf dem Bild.",NULLOBJECT,UNNECESSARY,1,1,0);
- _objectState[3] = Object(_id, "Bild","Es ist ein Axacussanerkopf auf dem Bild.",PAINTING,UNNECESSARY,2,2,0);
- _objectState[4] = Object(_id, "Pflanze",Object::defaultDescription,NULLOBJECT,UNNECESSARY,3,3,0);
- _objectState[5] = Object(_id, "",Object::defaultDescription,MONEY,TAKE|COMBINABLE,255,255,0);
+ _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,0,0,3,BCORRIDOR,5);
+ _objectState[1] = Object(_id, kStringComputer,kStringDefaultDescription,COMPUTER,COMBINABLE,4,4,0);
+ _objectState[2] = Object(_id, kStringImage,kStringImageDescription2,NULLOBJECT,UNNECESSARY,1,1,0);
+ _objectState[3] = Object(_id, kStringImage,kStringImageDescription2,PAINTING,UNNECESSARY,2,2,0);
+ _objectState[4] = Object(_id, kStringPlant,kStringDefaultDescription,NULLOBJECT,UNNECESSARY,3,3,0);
+ _objectState[5] = Object(_id, kNoString,kStringDefaultDescription,MONEY,TAKE|COMBINABLE,255,255,0);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -1539,10 +1489,10 @@ public:
_shown[2] = true;
_shown[3] = true;
- _objectState[0] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE|OPENED,0,0,3,BCORRIDOR,5);
- _objectState[1] = Object(_id, "Computer",Object::defaultDescription,COMPUTER,COMBINABLE,4,4,0);
- _objectState[2] = Object(_id, "Figur","Stark!",NULLOBJECT,UNNECESSARY,6,6,0);
- _objectState[3] = Object(_id, "Pflanze","Sie ist den Pflanzen auf der Erde sehr ähnlich.",NULLOBJECT,UNNECESSARY,5,5,0);
+ _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,0,0,3,BCORRIDOR,5);
+ _objectState[1] = Object(_id, kStringComputer,kStringDefaultDescription,COMPUTER,COMBINABLE,4,4,0);
+ _objectState[2] = Object(_id, kStringStatue,kStringStatueDescription,NULLOBJECT,UNNECESSARY,6,6,0);
+ _objectState[3] = Object(_id, kStringPlant,kStringPlantDescription,NULLOBJECT,UNNECESSARY,5,5,0);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -1574,10 +1524,10 @@ public:
_shown[16] = false;
_shown[17] = true;
- _objectState[0] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE|OPENED,6,6,17,GUARD3,9);
- _objectState[1] = Object(_id, "Computer","Er funktioniert nicht.",COMPUTER,COMBINABLE,4,4,0);
- _objectState[2] = Object(_id, "Graffiti","Seltsamer B\201roschmuck!",NULLOBJECT,NULLTYPE,7,7,0);
- _objectState[3] = Object(_id, "Geld","Es sind 350 Xa.",TICKETS,TAKE,8,8,0);
+ _objectState[0] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|OPENED,6,6,17,GUARD3,9);
+ _objectState[1] = Object(_id, kStringComputer,kStringComputerDescription,COMPUTER,COMBINABLE,4,4,0);
+ _objectState[2] = Object(_id, kStringGraffiti,kStringGraffitiDescription,NULLOBJECT,NULLTYPE,7,7,0);
+ _objectState[3] = Object(_id, kStringMoney,kStringMoneyDescription2,TICKETS,TAKE,8,8,0);
}
virtual void onEntrance();
@@ -1593,10 +1543,10 @@ public:
_id = ELEVATOR;
_shown[0] = true;
- _objectState[0] = Object(_id, "Knopf",Object::defaultDescription,BUTTON1,PRESS,0,0,0);
- _objectState[1] = Object(_id, "Knopf",Object::defaultDescription,BUTTON2,PRESS,1,1,0);
- _objectState[2] = Object(_id, "Ausgang",Object::defaultDescription,DOOR,EXIT,255,255,0,NULLROOM,22);
- _objectState[3] = Object(_id, "Dschungel","Lauter B\204ume.",JUNGLE,NULLTYPE,255,255,0,STATION,2);
+ _objectState[0] = Object(_id, kStringButton,kStringDefaultDescription,BUTTON1,PRESS,0,0,0);
+ _objectState[1] = Object(_id, kStringButton,kStringDefaultDescription,BUTTON2,PRESS,1,1,0);
+ _objectState[2] = Object(_id, kStringExit,kStringDefaultDescription,DOOR,EXIT,255,255,0,NULLROOM,22);
+ _objectState[3] = Object(_id, kStringJungle,kStringJungleDescription,JUNGLE,NULLTYPE,255,255,0,STATION,2);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -1610,8 +1560,8 @@ public:
_fileNumber = 5;
_id = STATION;
_shown[0] = true;
- _objectState[0] = Object(_id, "Schild",Object::defaultDescription,STATION_SIGN,NULLTYPE,0,0,0);
- _objectState[1] = Object(_id, "T\201r",Object::defaultDescription,DOOR,EXIT|OPENABLE|CLOSED,1,1,0,NULLROOM,7);
+ _objectState[0] = Object(_id, kStringSign,kStringDefaultDescription,STATION_SIGN,NULLTYPE,0,0,0);
+ _objectState[1] = Object(_id, kStringDoor,kStringDefaultDescription,DOOR,EXIT|OPENABLE|CLOSED,1,1,0,NULLROOM,7);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -1627,8 +1577,8 @@ public:
_shown[0] = true;
_shown[1] = true;
- _objectState[0] = Object(_id, "Ausgang",Object::defaultDescription,NULLOBJECT,EXIT,255,255,0,STATION,22);
- _objectState[1] = Object(_id, "Schlitz",Object::defaultDescription,STATION_SLOT,COMBINABLE,0,0,0);
+ _objectState[0] = Object(_id, kStringExit,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,STATION,22);
+ _objectState[1] = Object(_id, kStringSlot,kStringDefaultDescription,STATION_SLOT,COMBINABLE,0,0,0);
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
@@ -1636,29 +1586,7 @@ public:
class Outro : public Room {
public:
- Outro(SupernovaEngine *vm, GameManager *gm) {
- _vm = vm;
- _gm = gm;
-
- _fileNumber = -1;
- _id = OUTRO;
- _shown[0] = false;
-
- outroText = "^ E#N#D#E ...########"
- "# ... des ersten Teils!########"
- "#########"
- "^Aber:#"
- "Das Abenteuer geht weiter, ...##"
- "... wenn Sie sich für 30,- DM registrieren lassen!##"
- "(Falls Sie das nicht schon längst getan haben.)##"
- "In^ Teil 2 - Der Doppelgänger^ erwarten Sie:##"
- "Knifflige Puzzles,##"
- "noch mehr Grafik und Sound,##"
- "ein perfekt geplanter Museumseinbruch,##"
- "das Virtual-Reality-Spiel \"Indiana Joe\"##"
- "und vieles mehr!##"
- "°";
- }
+ Outro(SupernovaEngine *vm, GameManager *gm);
virtual void onEntrance();
virtual void animation();
diff --git a/engines/supernova/state.cpp b/engines/supernova/state.cpp
index cbb740f1fa..6fa20aa790 100644
--- a/engines/supernova/state.cpp
+++ b/engines/supernova/state.cpp
@@ -857,7 +857,7 @@ void GameManager::drawInventory() {
_guiInventory[i].width(),
_guiInventory[i].height(),
_guiInventory[i]._bgColor);
- _vm->renderText(_inventory.get(i + _inventoryScroll)->_name.c_str(),
+ _vm->renderText(_inventory.get(i + _inventoryScroll)->_name,
_guiInventory[i]._textPosition.x,
_guiInventory[i]._textPosition.y,
_guiInventory[i]._textColor);
@@ -1178,16 +1178,16 @@ void GameManager::drawStatus() {
_vm->renderText(_vm->getGameString(guiStatusCommands[index]), 1, 141, kColorDarkGreen);
if (Object::isNullObject(_inputObject[0])) {
- _vm->renderText(_currentInputObject->_name.c_str());
+ _vm->renderText(_currentInputObject->_name);
} else {
- _vm->renderText(_inputObject[0]->_name.c_str());
+ _vm->renderText(_inputObject[0]->_name);
if (_inputVerb == ACTION_GIVE) {
_vm->renderText(" an ");
} else if (_inputVerb == ACTION_USE) {
_vm->renderText(" mit ");
}
- _vm->renderText(_currentInputObject->_name.c_str());
+ _vm->renderText(_currentInputObject->_name);
}
}
@@ -1321,8 +1321,8 @@ bool GameManager::genericInteract(Action verb, Object &obj1, Object &obj2) {
roomBrightness();
_vm->renderMessage("Hmm, irgendwie komme|ich mir verarscht vor.");
} else if ((verb == ACTION_LOOK) && (obj1._id == KEYCARD2)) {
- _vm->renderMessage(obj1._description.c_str());
- obj1._description = "Es ist die Keycard des Commanders.";
+ _vm->renderMessage(obj1._description);
+ obj1._description = kStringKeycard2Description2;
} else if ((verb == ACTION_LOOK) && (obj1._id == WATCH)) {
_vm->renderMessage(Common::String::format(
"Es ist eine Uhr mit extra|lautem Wecker. "
@@ -1392,11 +1392,11 @@ bool GameManager::genericInteract(Action verb, Object &obj1, Object &obj2) {
r = _rooms[CABIN_L3];
if (!r->getObject(8)->hasProperty(CARRIED)) {
if (r->isSectionVisible(26))
- _vm->renderMessage(Object::takeMessage);
+ _vm->renderMessage(kStringTakeMessage);
else
return false;
} else {
- r->getObject(8)->_name = "Leitung mit L\201sterklemme";
+ r->getObject(8)->_name = kStringWireAndClip;
r = _rooms[HOLD];
_inventory.remove(*r->getObject(2));
_state._terminalStripConnected = true;
@@ -1406,7 +1406,7 @@ bool GameManager::genericInteract(Action verb, Object &obj1, Object &obj2) {
} else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, TERMINALSTRIP, SPOOL)) {
r = _rooms[CABIN_L2];
takeObject(*r->getObject(9));
- r->getObject(9)->_name = "Kabelrolle mit L\201sterklemme";
+ r->getObject(9)->_name = kSringSpoolAndClip;
r = _rooms[HOLD];
_inventory.remove(*r->getObject(2));
_state._terminalStripConnected = true;
@@ -1420,12 +1420,12 @@ bool GameManager::genericInteract(Action verb, Object &obj1, Object &obj2) {
return false;
} else {
if (!r->getObject(8)->hasProperty(CARRIED)) {
- _vm->renderMessage(Object::takeMessage);
+ _vm->renderMessage(kStringTakeMessage);
} else {
r = _rooms[CABIN_L2];
takeObject(*r->getObject(9));
r = _rooms[CABIN_L3];
- r->getObject(8)->_name = "langes Kabel mit Stecker";
+ r->getObject(8)->_name = kStringGeneratorWire;
r = _rooms[CABIN_L2];
_inventory.remove(*r->getObject(9));
_state._cableConnected = true;
@@ -1537,7 +1537,7 @@ void GameManager::handleInput() {
if (!validCommand) {
switch (_inputVerb) {
case ACTION_LOOK:
- _vm->renderMessage(_inputObject[0]->_description.c_str());
+ _vm->renderMessage(_inputObject[0]->_description);
break;
case ACTION_WALK:
diff --git a/engines/supernova/supernova.cpp b/engines/supernova/supernova.cpp
index 67c6fdd96c..412470356a 100644
--- a/engines/supernova/supernova.cpp
+++ b/engines/supernova/supernova.cpp
@@ -70,8 +70,6 @@ const AudioInfo audioInfo[kAudioNumSamples] = {
{54, 31040, -1}
};
-const char *const Object::defaultDescription = "Es ist nichts Besonderes daran.";
-const char *const Object::takeMessage = "Das mußt du erst nehmen.";
const Object Object::nullObject = Object();
ObjectType operator|(ObjectType a, ObjectType b) {
@@ -906,7 +904,8 @@ bool SupernovaEngine::loadGame(int slot) {
}
byte saveVersion = savefile->readByte();
- if (saveVersion > SAVEGAME_VERSION) {
+ // Save version 1 was used during development and is no longer supported
+ if (saveVersion > SAVEGAME_VERSION || saveVersion == 1) {
warning("Save game version %i not supported", saveVersion);
delete savefile;
return Common::kUnknownError;
diff --git a/engines/supernova/supernova.h b/engines/supernova/supernova.h
index cc6cfbb479..756c846301 100644
--- a/engines/supernova/supernova.h
+++ b/engines/supernova/supernova.h
@@ -43,7 +43,7 @@
namespace Supernova {
#define SAVEGAME_HEADER MKTAG('M','S','N','1')
-#define SAVEGAME_VERSION 1
+#define SAVEGAME_VERSION 2
#define SUPERNOVA_DAT "supernova.dat"
#define SUPERNOVA_DAT_VERSION 1
@@ -166,10 +166,16 @@ public:
if (!text.empty())
renderMessage(text.c_str(), position);
}
+ void renderText(StringID stringId, int x, int y, byte color) {
+ renderText(getGameString(stringId), x, y, color);
+ }
void renderText(const Common::String &text, int x, int y, byte color) {
if (!text.empty())
renderText(text.c_str(), x, y, color);
}
+ void renderText(StringID stringId) {
+ renderText(getGameString(stringId));
+ }
void renderText(const Common::String &text) {
if (!text.empty())
renderText(text.c_str());