aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/prince/flags.cpp410
-rw-r--r--engines/prince/flags.h409
-rw-r--r--engines/prince/musNum.h92
-rw-r--r--engines/prince/variatxt.cpp59
-rw-r--r--engines/prince/variatxt.h44
5 files changed, 1014 insertions, 0 deletions
diff --git a/engines/prince/flags.cpp b/engines/prince/flags.cpp
new file mode 100644
index 0000000000..5fb93ac4b1
--- /dev/null
+++ b/engines/prince/flags.cpp
@@ -0,0 +1,410 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "prince/flags.h"
+
+namespace Prince {
+
+const char * Flags::getFlagName(uint16 flagId)
+{
+ switch (flagId) {
+ default: return "unknown_flag";
+ case FLAGA1: return "FLAGA1";
+ case FLAGA2: return "FLAGA2";
+ case FLAGA3: return "FLAGA3";
+ case DESTX: return "DESTX";
+ case DESTY: return "DESTY";
+ case DESTD: return "DESTD";
+ case DwarfDone: return "DwarfDone";
+ case GRABARZCOUNTER: return "GRABARZCOUNTER";
+ case KIERUNEK: return "KIERUNEK";
+ case BACKFLAG1: return "BACKFLAG1";
+ case BACKFLAG2: return "BACKFLAG2";
+ case BACKFLAG3: return "BACKFLAG3";
+ case BACKFLAG4: return "BACKFLAG4";
+ case MACROFLAG1: return "MACROFLAG1";
+ case MACROFLAG2: return "MACROFLAG2";
+ case MACROFLAG3: return "MACROFLAG3";
+ case HEROLDDONE: return "HEROLDDONE";
+ case BRIDGESET: return "BRIDGESET";
+ case U_BT_1: return "U_BT_1";
+ case U_BT_2: return "U_BT_2";
+ case U_BT_3: return "U_BT_3";
+ case U_BT_4: return "U_BT_4";
+ case U_BT_5: return "U_BT_5";
+ case U_BT_6: return "U_BT_6";
+ case U_BT_7: return "U_BT_7";
+ case U_BT_8: return "U_BT_8";
+ case U_BT_9: return "U_BT_9";
+ case U_BT_COUNTER: return "U_BT_COUNTER";
+ case ARIVALDALIVE: return "ARIVALDALIVE";
+ case TALKCHAR1: return "TALKCHAR1";
+ case TalkType1: return "TalkType1";
+ case TALKROUT1: return "TALKROUT1";
+ case TALKROUT2: return "TALKROUT2";
+ case TALKROUT3: return "TALKROUT3";
+ case TALKROUT4: return "TALKROUT4";
+ case TALKANIM1: return "TALKANIM1";
+ case TALKANIM2: return "TALKANIM2";
+ case TALKCOLOR1: return "TALKCOLOR1";
+ case TALKCOLOR2: return "TALKCOLOR2";
+ case KapciuchTaken: return "KapciuchTaken";
+ case CurrentBeggarA: return "CurrentBeggarA";
+ case TempKapc: return "TempKapc";
+ case HomTaken: return "HomTaken";
+ case WizardTalk: return "WizardTalk";
+ case SunlordTalk: return "SunlordTalk";
+ case HermitTalk: return "HermitTalk";
+ case RunyMode: return "RunyMode";
+ case FatMerchantTalk: return "FatMerchantTalk";
+ case HotDogTalk: return "HotDogTalk";
+ case ThiefTalk: return "ThiefTalk";
+ case BeggarTalk: return "BeggarTalk";
+ case MonkTalk: return "MonkTalk";
+ case BardTalk: return "BardTalk";
+ case BarmanTalk: return "BarmanTalk";
+ case LeftPlayerTalk: return "LeftPlayerTalk";
+ case OczySowy: return "OczySowy";
+ case CzachySpeed1: return "CzachySpeed1";
+ case CzachySpeed2: return "CzachySpeed2";
+ case CzachySpeed3: return "CzachySpeed3";
+ case CzachySlowDown1: return "CzachySlowDown1";
+ case CzachySlowDown2: return "CzachySlowDown2";
+ case CzachySlowDown3: return "CzachySlowDown3";
+ case FjordDane: return "FjordDane";
+ case GKopany1: return "GKopany1";
+ case GKopany2: return "GKopany2";
+ case GKopany3: return "GKopany3";
+ case GKopany4: return "GKopany4";
+ case KnowGodWord: return "KnowGodWord";
+ case TALKROUT21: return "TALKROUT21";
+ case TALKROUT22: return "TALKROUT22";
+ case TALKROUT23: return "TALKROUT23";
+ case TALKROUT24: return "TALKROUT24";
+ case TalkType2: return "TalkType2";
+ case GrabarzTalk: return "GrabarzTalk";
+ case LastTalker: return "LastTalker";
+ case MapaPustelniaEnabled: return "MapaPustelniaEnabled";
+ case MapaTempleEnabled: return "MapaTempleEnabled";
+ case MapaFjordEnabled: return "MapaFjordEnabled";
+ case MapaSilmanionaEnabled: return "MapaSilmanionaEnabled";
+ case MapaKurhanEnabled: return "MapaKurhanEnabled";
+ case MapaDragonEnabled: return "MapaDragonEnabled";
+ case MapaMillEnabled: return "MapaMillEnabled";
+ case DwarfRunning: return "DwarfRunning";
+ case DwarfTalk: return "DwarfTalk";
+ case CurseLift: return "CurseLift";
+ case KosciSwapped: return "KosciSwapped";
+ case BookStolen: return "BookStolen";
+ case MapaUsable: return "MapaUsable";
+ case FjordBoss: return "FjordBoss";
+ case FjordHotDog: return "FjordHotDog";
+ case FjordLewy: return "FjordLewy";
+ case FjordPrawy: return "FjordPrawy";
+ case TalkArivald: return "TalkArivald";
+ case ShootDone: return "ShootDone";
+ case ShootRunning: return "ShootRunning";
+ case ShootKnow: return "ShootKnow";
+ case MirrorKnow: return "MirrorKnow";
+ case Gar1stTime: return "Gar1stTime";
+ case KosciTaken: return "KosciTaken";
+ case ArivGotSpell: return "ArivGotSpell";
+ case BookGiven: return "BookGiven";
+ case Wywieszka: return "Wywieszka";
+ case TalkSheila: return "TalkSheila";
+ case TalkSheila2: return "TalkSheila2";
+ case BackHuman: return "BackHuman";
+ case SkarbiecOpen: return "SkarbiecOpen";
+ case LustroTaken: return "LustroTaken";
+ case GargoyleHom: return "GargoyleHom";
+ case GargoyleBroken: return "GargoyleBroken";
+ case FjordDzien: return "FjordDzien";
+ case GargoyleHom2: return "GargoyleHom2";
+ case RunMonstersRunning: return "RunMonstersRunning";
+ case FoundPaperInCoffin: return "FoundPaperInCoffin";
+ case KnowSunlord: return "KnowSunlord";
+ case KnowSunlordTalk: return "KnowSunlordTalk";
+ case ArivaldCzyta: return "ArivaldCzyta";
+ case TelepX: return "TelepX";
+ case TelepY: return "TelepY";
+ case TelepDir: return "TelepDir";
+ case TelepRoom: return "TelepRoom";
+ case ListStolen: return "ListStolen";
+ case WifeInDoor: return "WifeInDoor";
+ case TalkWifeFlag: return "TalkWifeFlag";
+ case LetterGiven: return "LetterGiven";
+ case LutniaTaken: return "LutniaTaken";
+ case BardHomeOpen: return "BardHomeOpen";
+ case FjordNoMonsters: return "FjordNoMonsters";
+ case ShandriaWallTalking: return "ShandriaWallTalking";
+ case ShandriaWallCounter: return "ShandriaWallCounter";
+ case ShandriaWallDone: return "ShandriaWallDone";
+ case FutureDone: return "FutureDone";
+ case TalkButch: return "TalkButch";
+ case GotSzalik: return "GotSzalik";
+ case GotCzosnek: return "GotCzosnek";
+ case BearDone: return "BearDone";
+ case NekrVisited: return "NekrVisited";
+ case SunRiddle: return "SunRiddle";
+ case PtaszekAway: return "PtaszekAway";
+ case KotGadanie: return "KotGadanie";
+ case SzlafmycaTaken: return "SzlafmycaTaken";
+ case BabkaTalk: return "BabkaTalk";
+ case SellerTalk: return "SellerTalk";
+ case CzosnekDone: return "CzosnekDone";
+ case PriestCounter: return "PriestCounter";
+ case PriestGest1: return "PriestGest1";
+ case PriestGest2: return "PriestGest2";
+ case PriestGest3: return "PriestGest3";
+ case PriestGest4: return "PriestGest4";
+ case PriestAnim: return "PriestAnim";
+ case HolyWaterTaken: return "HolyWaterTaken";
+ case AxeTaken: return "AxeTaken";
+ case BadylTaken1: return "BadylTaken1";
+ case BadylTaken2: return "BadylTaken2";
+ case BadylSharpened: return "BadylSharpened";
+ case PorwanieSmoka: return "PorwanieSmoka";
+ case ShopReOpen: return "ShopReOpen";
+ case LuskaShown: return "LuskaShown";
+ case CudKnow: return "CudKnow";
+ case VampireDead: return "VampireDead";
+ case MapaVisible1: return "MapaVisible1";
+ case MapaVisible2: return "MapaVisible2";
+ case MapaVisible3: return "MapaVisible3";
+ case MapaVisible4: return "MapaVisible4";
+ case MapaVisible5: return "MapaVisible5";
+ case MapaVisible6: return "MapaVisible6";
+ case MapaVisible7: return "MapaVisible7";
+ case MapaVisible8: return "MapaVisible8";
+ case MapaVisible9: return "MapaVisible9";
+ case MapaX: return "MapaX";
+ case MapaY: return "MapaY";
+ case MapaD: return "MapaD";
+ case OldMapaX: return "OldMapaX";
+ case OldMapaY: return "OldMapaY";
+ case OldMapaD: return "OldMapaD";
+ case MovingBack: return "MovingBack";
+ case MapaCount: return "MapaCount";
+ case Pustelnia1st: return "Pustelnia1st";
+ case CzarnePole1st: return "CzarnePole1st";
+ case TalkArivNum: return "TalkArivNum";
+ case Pfui: return "Pfui";
+ case MapaSunlordEnabled: return "MapaSunlordEnabled";
+ case WebDone: return "WebDone";
+ case DragonDone: return "DragonDone";
+ case KanPlay: return "KanPlay";
+ case OldKanPlay: return "OldKanPlay";
+ case LapkiWait: return "LapkiWait";
+ case WebNoCheck: return "WebNoCheck";
+ case Perfumeria: return "Perfumeria";
+ case SmokNoCheck: return "SmokNoCheck";
+ case IluzjaBroken: return "IluzjaBroken";
+ case IluzjaWorking: return "IluzjaWorking";
+ case IluzjaCounter: return "IluzjaCounter";
+ case KurhanOpen1: return "KurhanOpen1";
+ case KastetTaken: return "KastetTaken";
+ case KastetDown: return "KastetDown";
+ case KurhanDone: return "KurhanDone";
+ case SkelCounter: return "SkelCounter";
+ case SkelDial1: return "SkelDial1";
+ case SkelDial2: return "SkelDial2";
+ case SkelDial3: return "SkelDial3";
+ case SkelDial4: return "SkelDial4";
+ case SameTalker: return "SameTalker";
+ case RunMonstersText: return "RunMonstersText";
+ case PiwnicaChecked: return "PiwnicaChecked";
+ case DragonTalked: return "DragonTalked";
+ case ToldAboutBook: return "ToldAboutBook";
+ case SilmanionaDone: return "SilmanionaDone";
+ case ToldBookCount: return "ToldBookCount";
+ case SmrodNoCheck: return "SmrodNoCheck";
+ case RopeTaken: return "RopeTaken";
+ case RopeTime: return "RopeTime";
+ case LaskaFree: return "LaskaFree";
+ case ShanSmokTalked: return "ShanSmokTalked";
+ case SwordTaken: return "SwordTaken";
+ case Mill1st: return "Mill1st";
+ case SawRat: return "SawRat";
+ case KnowRat: return "KnowRat";
+ case DziuraTimer: return "DziuraTimer";
+ case LaskaInside: return "LaskaInside";
+ case HoleBig: return "HoleBig";
+ case EnableWiedzmin: return "EnableWiedzmin";
+ case EnableTrucizna: return "EnableTrucizna";
+ case KnowPoison: return "KnowPoison";
+ case KufelTaken: return "KufelTaken";
+ case BojkaEnabled: return "BojkaEnabled";
+ case BitwaNot1st: return "BitwaNot1st";
+ case BojkaTimer: return "BojkaTimer";
+ case BojkaGirl: return "BojkaGirl";
+ case Look1st: return "Look1st";
+ case RatTaken: return "RatTaken";
+ case LaskaTalkedGr: return "LaskaTalkedGr";
+ case RatusGivus: return "RatusGivus";
+ case MamObole: return "MamObole";
+ case Speed1st: return "Speed1st";
+ case SpeedTimer: return "SpeedTimer";
+ case ProveIt: return "ProveIt";
+ case Proven: return "Proven";
+ case ShowWoalka: return "ShowWoalka";
+ case PoisonTaken: return "PoisonTaken";
+ case HellOpened: return "HellOpened";
+ case HellNoCheck: return "HellNoCheck";
+ case TalAn1: return "TalAn1";
+ case TalAn2: return "TalAn2";
+ case TalAn3: return "TalAn3";
+ case TalkDevilGuard: return "TalkDevilGuard";
+ case Sword1st: return "Sword1st";
+ case IluzjaNoCheck: return "IluzjaNoCheck";
+ case RozdzielniaNumber: return "RozdzielniaNumber";
+ case JailChecked: return "JailChecked";
+ case JailTalked: return "JailTalked";
+ case TrickFailed: return "TrickFailed";
+ case WegielVisible: return "WegielVisible";
+ case WegielTimer1: return "WegielTimer1";
+ case RandomSample: return "RandomSample";
+ case RandomSampleTimer: return "RandomSampleTimer";
+ case SampleTimer: return "SampleTimer";
+ case ZonaSample: return "ZonaSample";
+ case HoleTryAgain: return "HoleTryAgain";
+ case TeleportTimer: return "TeleportTimer";
+ case RozLezy: return "RozLezy";
+ case UdkoTimer: return "UdkoTimer";
+ case ZaworZatkany: return "ZaworZatkany";
+ case ZaworOpened: return "ZaworOpened";
+ case DoorExploded: return "DoorExploded";
+ case SkoraTaken: return "SkoraTaken";
+ case CiezkieByl: return "CiezkieByl";
+ case MamWegiel: return "MamWegiel";
+ case SwiecaAway: return "SwiecaAway";
+ case ITSAVE: return "ITSAVE";
+ case RozpadlSie: return "RozpadlSie";
+ case WegielFullTimer: return "WegielFullTimer";
+ case WegielDown: return "WegielDown";
+ case WegielDownTimer: return "WegielDownTimer";
+ case PaliSie: return "PaliSie";
+ case DiabGuardTalked: return "DiabGuardTalked";
+ case GuardsNoCheck: return "GuardsNoCheck";
+ case TalkedPowloka: return "TalkedPowloka";
+ case JailOpen: return "JailOpen";
+ case PrzytulTimer: return "PrzytulTimer";
+ case JailDone: return "JailDone";
+ case MamMonety: return "MamMonety";
+ case LotTimer: return "LotTimer";
+ case LotObj: return "LotObj";
+ case PtakTimer: return "PtakTimer";
+ case BookTimer: return "BookTimer";
+ case BookGiba: return "BookGiba";
+ case PtakLata: return "PtakLata";
+ case Podej: return "Podej";
+ case GotHint: return "GotHint";
+ case LawaLeci: return "LawaLeci";
+ case PowerKlik: return "PowerKlik";
+ case LucekBad: return "LucekBad";
+ case LucekBad1st: return "LucekBad1st";
+ case IntroDial1: return "IntroDial1";
+ case IntroDial2: return "IntroDial2";
+ case ItsOutro: return "ItsOutro";
+ case KamienComment: return "KamienComment";
+ case KamienSkip: return "KamienSkip";
+ case TesterFlag: return "TesterFlag";
+ case RememberLine: return "RememberLine";
+ case OpisLapek: return "OpisLapek";
+ // case OpisKamienia: return "//OpisKamienia";
+ case TalWait: return "TalWait";
+ case OpisKamienia: return "OpisKamienia";
+ case JumpBox: return "JumpBox";
+ case JumpBox1: return "JumpBox1";
+ case JumpBox2: return "JumpBox2";
+ case JumpBox3: return "JumpBox3";
+ case SpecPiesek: return "SpecPiesek";
+ case SpecPiesekCount: return "SpecPiesekCount";
+ case SpecPiesekGadanie: return "SpecPiesekGadanie";
+ case ZnikaFlag: return "ZnikaFlag";
+ case ZnikaTimer: return "ZnikaTimer";
+ case SowaTimer: return "SowaTimer";
+ case MamrotanieOff: return "MamrotanieOff";
+
+ case CURRMOB: return "CURRMOB";
+ case KOLOR: return "KOLOR";
+ case MBFLAG: return "MBFLAG";
+ case MXFLAG: return "MXFLAG";
+ case MYFLAG: return "MYFLAG";
+ case SCROLLTYPE: return "SCROLLTYPE";
+ case SCROLLVALUE: return "SCROLLVALUE";
+ case SCROLLVALUE2: return "SCROLLVALUE2";
+ case TALKEXITCODE: return "TALKEXITCODE";
+ case SPECROUTFLAG1: return "SPECROUTFLAG1";
+ case SPECROUTFLAG2: return "SPECROUTFLAG2";
+ case SPECROUTFLAG3: return "SPECROUTFLAG3";
+ case TALKFLAGCODE: return "TALKFLAGCODE";
+ case CURRROOM: return "CURRROOM";
+ case Talker1Init: return "Talker1Init";
+ case Talker2Init: return "Talker2Init";
+ case RESTOREROOM: return "RESTOREROOM";
+ case INVALLOWED: return "INVALLOWED";
+ case BOXSEL: return "BOXSEL";
+ case CURSEBLINK: return "CURSEBLINK";
+ case EXACTMOVE: return "EXACTMOVE";
+ case MOVEDESTX: return "MOVEDESTX";
+ case MOVEDESTY: return "MOVEDESTY";
+ case NOANTIALIAS: return "NOANTIALIAS";
+ case ESCAPED: return "ESCAPED";
+ case ALLOW1OPTION: return "ALLOW1OPTION";
+ case VOICE_H_LINE: return "VOICE_H_LINE";
+ case VOICE_A_LINE: return "VOICE_A_LINE";
+ case VOICE_B_LINE: return "VOICE_B_LINE";
+ case VOICE_C_LINE: return "VOICE_C_LINE";
+ case NOHEROATALL: return "NOHEROATALL";
+ case MOUSEENABLED: return "MOUSEENABLED";
+ case DIALINES: return "DIALINES";
+
+ //case SELITEM: return "SELITEM";
+
+ case SHANWALK: return "SHANWALK";
+ case SHANDOG: return "SHANDOG";
+ case GETACTIONBACK: return "GETACTIONBACK";
+ case GETACTIONDATA: return "GETACTIONDATA";
+ case GETACTION: return "GETACTION";
+ case HEROFAST: return "HEROFAST";
+ case SELITEM: return "SELITEM";
+ case LMOUSE: return "LMOUSE";
+ case MINMX: return "MINMX";
+ case MAXMX: return "MAXMX";
+ case MINMY: return "MINMY";
+ case MAXMY: return "MAXMY";
+ case TORX1: return "TORX1";
+ case TORY1: return "TORY1";
+ case TORX2: return "TORX2";
+ case TORY2: return "TORY2";
+ case POWER: return "POWER";
+ case POWERENABLED: return "POWERENABLED";
+ case FLCRESTORE: return "FLCRESTORE";
+ case NOCLSTEXT: return "NOCLSTEXT";
+ case ESCAPED2: return "ESCAPED2";
+ }
+}
+
+
+}
+
+/* vim: set tabstop=4 noexpandtab: */
diff --git a/engines/prince/flags.h b/engines/prince/flags.h
new file mode 100644
index 0000000000..d360912526
--- /dev/null
+++ b/engines/prince/flags.h
@@ -0,0 +1,409 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "common/scummsys.h"
+
+namespace Prince {
+
+struct Flags {
+
+ static const char * getFlagName(uint16 flagId);
+
+ enum Id {
+ FLAGA1 = 0x8000,
+ FLAGA2 = 0x8002,
+ FLAGA3 = 0x8004,
+ DESTX = 0x8006,
+ DESTY = 0x8008,
+ DESTD = 0x800A,
+ DwarfDone = 0x800C,
+ GRABARZCOUNTER = 0x800E,
+ KIERUNEK = 0x8010,
+ BACKFLAG1 = 0x8012,
+ BACKFLAG2 = 0x8014,
+ BACKFLAG3 = 0x8016,
+ BACKFLAG4 = 0x8018,
+ MACROFLAG1 = 0x801A,
+ MACROFLAG2 = 0x801C,
+ MACROFLAG3 = 0x801E,
+ HEROLDDONE = 0x8020,
+ BRIDGESET = 0x8022,
+ U_BT_1 = 0x8024,
+ U_BT_2 = 0x8026,
+ U_BT_3 = 0x8028,
+ U_BT_4 = 0x802A,
+ U_BT_5 = 0x802C,
+ U_BT_6 = 0x802E,
+ U_BT_7 = 0x8030,
+ U_BT_8 = 0x8032,
+ U_BT_9 = 0x8034,
+ U_BT_COUNTER = 0x8036,
+ ARIVALDALIVE = 0x8038,
+ TALKCHAR1 = 0x803A,
+ TalkType1 = 0x803C,
+ TALKROUT1 = 0x803E,
+ TALKROUT2 = 0x8042,
+ TALKROUT3 = 0x8046,
+ TALKROUT4 = 0x804A,
+ TALKANIM1 = 0x804E,
+ TALKANIM2 = 0x8050,
+ TALKCOLOR1 = 0x8052,
+ TALKCOLOR2 = 0x8054,
+ KapciuchTaken = 0x8056,
+ CurrentBeggarA = 0x8058,
+ TempKapc = 0x805A,
+ HomTaken = 0x805C,
+ WizardTalk = 0x805E,
+ SunlordTalk = 0x8060,
+ HermitTalk = 0x8062,
+ RunyMode = 0x8064,
+ FatMerchantTalk = 0x8066,
+ HotDogTalk = 0x8068,
+ ThiefTalk = 0x806A,
+ BeggarTalk = 0x806C,
+ // DwarfTalk = 0x806E, // Redefinition
+ MonkTalk = 0x8070,
+ BardTalk = 0x8072,
+ BarmanTalk = 0x8074,
+ LeftPlayerTalk = 0x8076,
+ OczySowy = 0x8078,
+ CzachySpeed1 = 0x807A,
+ CzachySpeed2 = 0x807C,
+ CzachySpeed3 = 0x807E,
+ CzachySlowDown1 = 0x8080,
+ CzachySlowDown2 = 0x8082,
+ CzachySlowDown3 = 0x8084,
+ FjordDane = 0x8086,
+ GKopany1 = 0x8088,
+ GKopany2 = 0x808A,
+ GKopany3 = 0x808C,
+ GKopany4 = 0x808E,
+ KnowGodWord = 0x8090,
+ TALKROUT21 = 0x8092,
+ TALKROUT22 = 0x8096,
+ TALKROUT23 = 0x809A,
+ TALKROUT24 = 0x809E,
+ TalkType2 = 0x80A2,
+ GrabarzTalk = 0x80A4,
+ LastTalker = 0x80A6,
+ MapaPustelniaEnabled = 0x80A8,
+ MapaTempleEnabled = 0x80AA,
+ MapaFjordEnabled = 0x80AC,
+ MapaSilmanionaEnabled = 0x80AE,
+ MapaKurhanEnabled = 0x80B0,
+ MapaDragonEnabled = 0x80B2,
+ MapaMillEnabled = 0x80B4,
+ DwarfRunning = 0x80B6,
+ DwarfTalk = 0x80B8,
+ CurseLift = 0x80BA,
+ KosciSwapped = 0x80BC,
+ BookStolen = 0x80BE,
+ MapaUsable = 0x80C0,
+ FjordBoss = 0x80C2,
+ FjordHotDog = 0x80C4,
+ FjordLewy = 0x80C6,
+ FjordPrawy = 0x80C8,
+ TalkArivald = 0x80CA,
+ ShootDone = 0x80CC,
+ ShootRunning = 0x80CE,
+ ShootKnow = 0x80D0,
+ MirrorKnow = 0x80D2,
+ Gar1stTime = 0x80D4,
+ KosciTaken = 0x80D6,
+ ArivGotSpell = 0x80D8,
+ BookGiven = 0x80DA,
+ Wywieszka = 0x80DC,
+ TalkSheila = 0x80DE,
+ TalkSheila2 = 0x80E0,
+ BackHuman = 0x80E2,
+ SkarbiecOpen = 0x80E4,
+ LustroTaken = 0x80E6,
+ GargoyleHom = 0x80E8,
+ GargoyleBroken = 0x80EA,
+ FjordDzien = 0x80EC,
+ GargoyleHom2 = 0x80EE,
+ RunMonstersRunning = 0x80F0,
+ FoundPaperInCoffin = 0x80F2,
+ KnowSunlord = 0x80F4,
+ KnowSunlordTalk = 0x80F6,
+ ArivaldCzyta = 0x80F8,
+ TelepX = 0x80FA,
+ TelepY = 0x80FC,
+ TelepDir = 0x80FE,
+ TelepRoom = 0x8100,
+ ListStolen = 0x8102,
+ WifeInDoor = 0x8104,
+ TalkWifeFlag = 0x8106,
+ LetterGiven = 0x8108,
+ LutniaTaken = 0x810A,
+ BardHomeOpen = 0x810C,
+ FjordNoMonsters = 0x810E,
+ ShandriaWallTalking = 0x8110,
+ ShandriaWallCounter = 0x8112,
+ ShandriaWallDone = 0x8114,
+ FutureDone = 0x8116,
+ TalkButch = 0x8118,
+ GotSzalik = 0x811A,
+ GotCzosnek = 0x811C,
+ BearDone = 0x811E,
+ NekrVisited = 0x8120,
+ SunRiddle = 0x8122,
+ PtaszekAway = 0x8124,
+ KotGadanie = 0x8126,
+ SzlafmycaTaken = 0x8128,
+ BabkaTalk = 0x812A,
+ SellerTalk = 0x812C,
+ CzosnekDone = 0x812E,
+ PriestCounter = 0x8130,
+ PriestGest1 = 0x8132,
+ PriestGest2 = 0x8134,
+ PriestGest3 = 0x8136,
+ PriestGest4 = 0x8138,
+ PriestAnim = 0x813A,
+ HolyWaterTaken = 0x813C,
+ AxeTaken = 0x813E,
+ BadylTaken1 = 0x8140,
+ BadylTaken2 = 0x8142,
+ BadylSharpened = 0x8144,
+ PorwanieSmoka = 0x8146,
+ ShopReOpen = 0x8148,
+ LuskaShown = 0x814A,
+ CudKnow = 0x814C,
+ VampireDead = 0x814E,
+ MapaVisible1 = 0x8150,
+ MapaVisible2 = 0x8152,
+ MapaVisible3 = 0x8154,
+ MapaVisible4 = 0x8156,
+ MapaVisible5 = 0x8158,
+ MapaVisible6 = 0x815A,
+ MapaVisible7 = 0x815C,
+ MapaVisible8 = 0x815E,
+ MapaVisible9 = 0x8160,
+ MapaX = 0x8162,
+ MapaY = 0x8164,
+ MapaD = 0x8166,
+ OldMapaX = 0x8168,
+ OldMapaY = 0x816A,
+ OldMapaD = 0x816C,
+ MovingBack = 0x816E,
+ MapaCount = 0x8170,
+ Pustelnia1st = 0x8172,
+ CzarnePole1st = 0x8174,
+ TalkArivNum = 0x8176,
+ Pfui = 0x8178,
+ MapaSunlordEnabled = 0x817A,
+ WebDone = 0x817C,
+ DragonDone = 0x817E,
+ KanPlay = 0x8180,
+ OldKanPlay = 0x8182,
+ LapkiWait = 0x8184,
+ WebNoCheck = 0x8186,
+ Perfumeria = 0x8188,
+ SmokNoCheck = 0x818A,
+ IluzjaBroken = 0x818C,
+ IluzjaWorking = 0x818E,
+ IluzjaCounter = 0x8190,
+ KurhanOpen1 = 0x8192,
+ KastetTaken = 0x8194,
+ KastetDown = 0x8196,
+ KurhanDone = 0x8198,
+ SkelCounter = 0x819A,
+ SkelDial1 = 0x819C,
+ SkelDial2 = 0x819E,
+ SkelDial3 = 0x81A0,
+ SkelDial4 = 0x81A2,
+ SameTalker = 0x81A4,
+ RunMonstersText = 0x81A6,
+ PiwnicaChecked = 0x81A8,
+ DragonTalked = 0x81AA,
+ ToldAboutBook = 0x81AC,
+ SilmanionaDone = 0x81AE,
+ ToldBookCount = 0x81B0,
+ SmrodNoCheck = 0x81B2,
+ RopeTaken = 0x81B4,
+ RopeTime = 0x81B6,
+ LaskaFree = 0x81B8,
+ ShanSmokTalked = 0x81BA,
+ SwordTaken = 0x81BC,
+ Mill1st = 0x81BE,
+ SawRat = 0x81C0,
+ KnowRat = 0x81C2,
+ DziuraTimer = 0x81C4,
+ LaskaInside = 0x81C6,
+ HoleBig = 0x81C8,
+ EnableWiedzmin = 0x81CA,
+ EnableTrucizna = 0x81CC,
+ KnowPoison = 0x81CE,
+ KufelTaken = 0x81D0,
+ BojkaEnabled = 0x81D2,
+ BitwaNot1st = 0x81D4,
+ BojkaTimer = 0x81D6,
+ BojkaGirl = 0x81D8,
+ Look1st = 0x81DA,
+ RatTaken = 0x81DC,
+ LaskaTalkedGr = 0x81DE,
+ RatusGivus = 0x81E0,
+ MamObole = 0x81E2,
+ Speed1st = 0x81E4,
+ SpeedTimer = 0x81E6,
+ ProveIt = 0x81E8,
+ Proven = 0x81EA,
+ ShowWoalka = 0x81EC,
+ PoisonTaken = 0x81EE,
+ HellOpened = 0x81F0,
+ HellNoCheck = 0x81F2,
+ TalAn1 = 0x81F4,
+ TalAn2 = 0x81F6,
+ TalAn3 = 0x81F8,
+ TalkDevilGuard = 0x81fA,
+ Sword1st = 0x81FC,
+ IluzjaNoCheck = 0x81FE,
+ RozdzielniaNumber = 0x8200,
+ JailChecked = 0x8202,
+ JailTalked = 0x8204,
+ TrickFailed = 0x8206,
+ WegielVisible = 0x8208,
+ WegielTimer1 = 0x820A,
+ RandomSample = 0x820C,
+ RandomSampleTimer = 0x820E,
+ SampleTimer = 0x8210,
+ ZonaSample = 0x8212,
+ HoleTryAgain = 0x8214,
+ TeleportTimer = 0x8216,
+ RozLezy = 0x8218,
+ UdkoTimer = 0x821A,
+ ZaworZatkany = 0x821C,
+ ZaworOpened = 0x821E,
+ DoorExploded = 0x8220,
+ SkoraTaken = 0x8222,
+ CiezkieByl = 0x8224,
+ MamWegiel = 0x8226,
+ SwiecaAway = 0x8228,
+ ITSAVE = 0x822A,
+ RozpadlSie = 0x822C,
+ WegielFullTimer = 0x822E,
+ WegielDown = 0x8230,
+ WegielDownTimer = 0x8232,
+ PaliSie = 0x8234,
+ DiabGuardTalked = 0x8236,
+ GuardsNoCheck = 0x8238,
+ TalkedPowloka = 0x823A,
+ JailOpen = 0x823C,
+ PrzytulTimer = 0x823E,
+ JailDone = 0x8240,
+ MamMonety = 0x8242,
+ LotTimer = 0x8244,
+ LotObj = 0x8246,
+ PtakTimer = 0x8248,
+ BookTimer = 0x824A,
+ BookGiba = 0x824C,
+ PtakLata = 0x824E,
+ Podej = 0x8250,
+ GotHint = 0x8252,
+ LawaLeci = 0x8254,
+ PowerKlik = 0x8258,
+ LucekBad = 0x825A,
+ LucekBad1st = 0x825C,
+ IntroDial1 = 0x825E,
+ IntroDial2 = 0x8260,
+ ItsOutro = 0x8262,
+ KamienComment = 0x8264,
+ KamienSkip = 0x8266,
+ TesterFlag = 0x8268,
+ RememberLine = 0x826A,
+ OpisLapek = 0x826C,
+ //OpisKamienia = 0x826E, // Redefinition
+ TalWait = 0x8270,
+ OpisKamienia = 0x8272,
+ JumpBox = 0x8274,
+ JumpBox1 = 0x8276,
+ JumpBox2 = 0x8278,
+ JumpBox3 = 0x827A,
+ SpecPiesek = 0x827C,
+ SpecPiesekCount = 0x827E,
+ SpecPiesekGadanie = 0x8282,
+ ZnikaFlag = 0x8284,
+ ZnikaTimer = 0x8286,
+ SowaTimer = 0x8288,
+ MamrotanieOff = 0x828A,
+ // Flagi systemowe do kontroli przez skrypt
+ // System flags controlled by script
+ CURRMOB = 0x8400,
+ KOLOR = 0x8402,
+ MBFLAG = 0x8404,
+ MXFLAG = 0x8406,
+ MYFLAG = 0x8408,
+ SCROLLTYPE = 0x840A,
+ SCROLLVALUE = 0x840C,
+ SCROLLVALUE2 = 0x840E,
+ TALKEXITCODE = 0x8410,
+ SPECROUTFLAG1 = 0x8412,
+ SPECROUTFLAG2 = 0x8414,
+ SPECROUTFLAG3 = 0x8416,
+ TALKFLAGCODE = 0x8418,
+ CURRROOM = 0x841A,
+ Talker1Init = 0x841C,
+ Talker2Init = 0x841E,
+ RESTOREROOM = 0x8420,
+ INVALLOWED = 0x8422,
+ BOXSEL = 0x8424,
+ CURSEBLINK = 0x8426,
+ EXACTMOVE = 0x8428,
+ MOVEDESTX = 0x842A,
+ MOVEDESTY = 0x842C,
+ NOANTIALIAS = 0x842E,
+ ESCAPED = 0x8430,
+ ALLOW1OPTION = 0x8432,
+ VOICE_H_LINE = 0x8434,
+ VOICE_A_LINE = 0x8436,
+ VOICE_B_LINE = 0x8438,
+ VOICE_C_LINE = 0x843A,
+ NOHEROATALL = 0x843C,
+ MOUSEENABLED = 0x843E,
+ DIALINES = 0x8440,
+ //SELITEM = 0x8442, // Redefinition
+ SHANWALK = 0x8444,
+ SHANDOG = 0x8446,
+ GETACTIONBACK = 0x8448,
+ GETACTIONDATA = 0x844C,
+ GETACTION = 0x8450,
+ HEROFAST = 0x8452,
+ SELITEM = 0x8454,
+ LMOUSE = 0x8456,
+ MINMX = 0x8458,
+ MAXMX = 0x845A,
+ MINMY = 0x845C,
+ MAXMY = 0x845E,
+ TORX1 = 0x8460,
+ TORY1 = 0x8462,
+ TORX2 = 0x8464,
+ TORY2 = 0x8466,
+ POWER = 0x8468,
+ POWERENABLED = 0x846A,
+ FLCRESTORE = 0x846C,
+ NOCLSTEXT = 0x846E,
+ ESCAPED2 = 0x8470
+ };
+};
+
+}
+/* vim: set tabstop=4 noexpandtab: */
diff --git a/engines/prince/musNum.h b/engines/prince/musNum.h
new file mode 100644
index 0000000000..1319438940
--- /dev/null
+++ b/engines/prince/musNum.h
@@ -0,0 +1,92 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+/*
+ * This code is based on original Soltys source code
+ * Copyright (c) 1994-1995 Janus B. Wisniewski and L.K. Avalon
+ */
+
+namespace Prince {
+
+enum RoomMus {
+ROOM01MUS =3,
+ROOM02MUS =9,
+ROOM03MUS =9,
+ROOM04MUS =9,
+ROOM05MUS =13,
+ROOM06MUS =9,
+ROOM07MUS =9,
+ROOM08MUS =9,
+ROOM09MUS =14,
+ROOM10MUS =9,
+ROOM11MUS =9,
+ROOM12MUS =9,
+ROOM13MUS =9,
+ROOM14MUS =9,
+ROOM15MUS =5,
+ROOM16MUS =5,
+ROOM17MUS =5,
+ROOM18MUS =5,
+ROOM19MUS =5,
+ROOM20MUS =12,
+ROOM21MUS =9,
+ROOM22MUS =9,
+ROOM23MUS =1,
+ROOM24MUS =1,
+ROOM25MUS =2,
+ROOM26MUS =10,
+ROOM27MUS =7,
+ROOM28MUS =10,
+ROOM29MUS =10,
+ROOM30MUS =11,
+ROOM31MUS =14,
+ROOM32MUS =11,
+ROOM33MUS =7,
+ROOM34MUS =7,
+ROOM35MUS =7,
+ROOM36MUS =7,
+ROOM37MUS =7,
+ROOM38MUS =7,
+ROOM39MUS =7,
+ROOM40MUS =7,
+ROOM41MUS =7,
+ROOM42MUS =7,
+ROOM43MUS =15,
+ROOM46MUS =100,
+ROOM47MUS =100,
+ROOM48MUS =100,
+ROOM49MUS =100,
+ROOM50MUS =100,
+ROOM51MUS =12,
+ROOM52MUS =9,
+ROOM53MUS =5,
+ROOM54MUS =11,
+ROOM55MUS =11,
+ROOM56MUS =11,
+ROOM57MUS =7,
+ROOM58MUS =13,
+ROOM59MUS =16,
+ROOM60MUS =4,
+ROOM61MUS =0
+};
+
+}
diff --git a/engines/prince/variatxt.cpp b/engines/prince/variatxt.cpp
new file mode 100644
index 0000000000..073080e505
--- /dev/null
+++ b/engines/prince/variatxt.cpp
@@ -0,0 +1,59 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "prince/variatxt.h"
+#include "common/debug.h"
+
+namespace Prince {
+
+VariaTxt::VariaTxt() : _dataSize(0), _data(NULL) {
+}
+
+VariaTxt::~VariaTxt() {
+ _dataSize = 0;
+ delete[] _data;
+ _dataSize = NULL;
+}
+
+
+bool VariaTxt::loadFromStream(Common::SeekableReadStream &stream) {
+ _dataSize = stream.size();
+ _data = new byte [_dataSize];
+ stream.read(_data, _dataSize);
+ return true;
+}
+
+const char * VariaTxt::getString(uint32 stringId) {
+ uint32 stringOffset = READ_LE_UINT32(_data + stringId);
+
+ if (stringOffset > _dataSize) {
+ assert(false);
+ }
+
+ debug("VariaTxt::getString %04X %04X", stringId, stringOffset);
+
+ return (const char *)_data + stringOffset;
+}
+
+}
+
+/* vim: set tabstop=4 noexpandtab: */
diff --git a/engines/prince/variatxt.h b/engines/prince/variatxt.h
new file mode 100644
index 0000000000..5983054d57
--- /dev/null
+++ b/engines/prince/variatxt.h
@@ -0,0 +1,44 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "common/stream.h"
+
+namespace Prince {
+
+class VariaTxt {
+public:
+ VariaTxt();
+
+ ~VariaTxt();
+
+ bool loadFromStream(Common::SeekableReadStream &stream);
+
+ const char * getString(uint32 stringId);
+
+private:
+ uint32 _dataSize;
+ byte *_data;
+};
+
+}
+
+/* vim: set tabstop=4 noexpandtab: */