diff options
70 files changed, 545 insertions, 865 deletions
@@ -3,6 +3,13 @@ For a more comprehensive changelog of the latest experimental code, see: 1.8.0 (????-??-??) +Broken Sword 1: + - Fix speech endianness detection on big endian systems for the mac + version (bug #6720). + - Fix crash when reloading a game from the Main Menu while in the bull's + head scene (bug #6728). It may have been happening in other scenes as + well. + 1.7.0 (2014-07-21) New Games: - Added support for Chivalry is Not Dead. diff --git a/backends/fs/amigaos4/amigaos4-fs.cpp b/backends/fs/amigaos4/amigaos4-fs.cpp index 5a66cdaa2f..2cf397492a 100644 --- a/backends/fs/amigaos4/amigaos4-fs.cpp +++ b/backends/fs/amigaos4/amigaos4-fs.cpp @@ -62,7 +62,7 @@ AmigaOSFilesystemNode::AmigaOSFilesystemNode() { _bIsDirectory = true; _sPath = ""; _pFileLock = 0; - _nProt = 0; // protection is ignored for the root volume + _nProt = 0; // Protection is ignored for the root volume LEAVE(); } @@ -84,7 +84,7 @@ AmigaOSFilesystemNode::AmigaOSFilesystemNode(const Common::String &p) { _bIsDirectory = false; _bIsValid = false; - // Check whether the node exists and if it is a directory + // Check whether the node exists and if it's a directory struct ExamineData * pExd = IDOS->ExamineObjectTags(EX_StringNameInput,_sPath.c_str(),TAG_END); if (pExd) { _nProt = pExd->Protection; @@ -93,7 +93,7 @@ AmigaOSFilesystemNode::AmigaOSFilesystemNode(const Common::String &p) { _pFileLock = IDOS->Lock((CONST_STRPTR)_sPath.c_str(), SHARED_LOCK); _bIsValid = (_pFileLock != 0); - // Add a trailing slash if it is needed + // Add a trailing slash if needed const char c = _sPath.lastChar(); if (c != '/' && c != ':') _sPath += '/'; @@ -134,7 +134,7 @@ AmigaOSFilesystemNode::AmigaOSFilesystemNode(BPTR pLock, const char *pDisplayNam delete[] n; } - _bIsValid = false; + _bIsValid = false; _bIsDirectory = false; struct ExamineData * pExd = IDOS->ExamineObjectTags(EX_FileLockInput,pLock,TAG_END); @@ -188,10 +188,10 @@ bool AmigaOSFilesystemNode::exists() const { bool nodeExists = false; - // previously we were trying to examine the node in order + // Previously we were trying to examine the node in order // to determine if the node exists or not. // I don't see the point : once you have been granted a - // lock on it then it means it exists... + // lock on it, it means it exists... // // ============================= Old code // BPTR pLock = IDOS->Lock((STRPTR)_sPath.c_str(), SHARED_LOCK); @@ -237,8 +237,8 @@ bool AmigaOSFilesystemNode::getChildren(AbstractFSList &myList, ListMode mode, b ENTER(); bool ret = false; - //TODO: honor the hidden flag - // There is nothing like a hidden flag under AmigaOS... + // TODO: Honor the hidden flag + // There is no such thing as a hidden flag in AmigaOS... if (!_bIsValid) { debug(6, "Invalid node"); @@ -264,7 +264,7 @@ bool AmigaOSFilesystemNode::getChildren(AbstractFSList &myList, ListMode mode, b EX_DataFields, (EXF_NAME|EXF_LINK|EXF_TYPE), TAG_END); if (context) { - struct ExamineData * pExd = NULL; // NB: no need to free value after usage, all is dealt by the DirContext release + struct ExamineData * pExd = NULL; // NB: No need to free the value after usage, everything will be dealt with by the DirContext release AmigaOSFilesystemNode *entry ; while ( (pExd = IDOS->ExamineDir(context)) ) { @@ -332,8 +332,8 @@ bool AmigaOSFilesystemNode::isReadable() const { return false; // Regular RWED protection flags are low-active or inverted, thus the negation. - // moreover pseudo root filesystem (null _pFileLock) is readable whatever the - // protection says + // Moreover, a pseudo root filesystem (null _pFileLock) is readable whatever the + // protection says. bool readable = !(_nProt & EXDF_OTR_READ) || _pFileLock == 0; return readable; @@ -344,8 +344,8 @@ bool AmigaOSFilesystemNode::isWritable() const { return false; // Regular RWED protection flags are low-active or inverted, thus the negation. - // moreover pseudo root filesystem (null _pFileLock) is never writable whatever - // the protection says (because of the pseudo nature) + // Moreover, a pseudo root filesystem (null _pFileLock) is never writable whatever + // the protection says (Because of it's pseudo nature). bool writable = !(_nProt & EXDF_OTR_WRITE) && _pFileLock !=0; return writable; @@ -371,12 +371,13 @@ AbstractFSList AmigaOSFilesystemNode::listVolumes() const { if (dosList->dol_Type == DLT_VOLUME && dosList->dol_Name) { - // Original was - // dosList->dol_Name && - // dosList->dol_Task) { + // The original line was + //if (dosList->dol_Type == DLT_VOLUME && + //dosList->dol_Name && + //dosList->dol_Task) { // which errored using SDK 53.24 with a 'struct dosList' has no member called 'dol_Task' // I removed dol_Task because it's not used anywhere else - // and it neither brought up further errors nor crashes or regressions. + // and it neither brought up further errors nor crashes or regressions // Copy name to buffer IDOS->CopyStringBSTRToC(dosList->dol_Name, buffer, MAXPATHLEN); @@ -410,7 +411,7 @@ AbstractFSList AmigaOSFilesystemNode::listVolumes() const { delete[] volName; } - dosList = IDOS->NextDosEntry(dosList, LDF_VOLUMES); + dosList = IDOS->NextDosEntry(dosList, LDF_VOLUMES); } IDOS->UnLockDosList(kLockFlags); diff --git a/backends/fs/amigaos4/amigaos4-fs.h b/backends/fs/amigaos4/amigaos4-fs.h index bbe88b2716..223d809032 100644 --- a/backends/fs/amigaos4/amigaos4-fs.h +++ b/backends/fs/amigaos4/amigaos4-fs.h @@ -76,19 +76,19 @@ public: AmigaOSFilesystemNode(const Common::String &p); /** - * Creates an AmigaOSFilesystemNode given its lock and display name + * Creates an AmigaOSFilesystemNode given its lock and display name. * * @param pLock BPTR to the lock. * @param pDisplayName name to be used for display, in case not supplied the FilePart() of the filename will be used. * - * @note This shouldn't even be public as it's only internally, at best it should have been protected if not private + * @note This shouldn't even be public as it's only internally, at best it should have been protected if not private. */ AmigaOSFilesystemNode(BPTR pLock, const char *pDisplayName = 0); /** * Copy constructor. * - * @note Needed because it duplicates the file lock + * @note Needed because it duplicates the file lock. */ AmigaOSFilesystemNode(const AmigaOSFilesystemNode &node); diff --git a/backends/platform/sdl/amigaos/amigaos.mk b/backends/platform/sdl/amigaos/amigaos.mk index e998c6f3b2..5cec9c1588 100644 --- a/backends/platform/sdl/amigaos/amigaos.mk +++ b/backends/platform/sdl/amigaos/amigaos.mk @@ -4,6 +4,7 @@ amigaosdist: $(EXECUTABLE) mkdir -p $(AMIGAOSPATH)/themes mkdir -p $(AMIGAOSPATH)/extras $(STRIP) $(EXECUTABLE) -o $(AMIGAOSPATH)/$(EXECUTABLE) + cp ${srcdir}/icons/scummvm_drawer.info $(AMIGAOSPATH).info cp ${srcdir}/icons/scummvm.info $(AMIGAOSPATH)/$(EXECUTABLE).info cp $(DIST_FILES_THEMES) $(AMIGAOSPATH)/themes/ ifdef DIST_FILES_ENGINEDATA diff --git a/backends/platform/symbian/help/ScummVM.rtf b/backends/platform/symbian/help/ScummVM.rtf index 25254f5338..8e9d37363c 100644 --- a/backends/platform/symbian/help/ScummVM.rtf +++ b/backends/platform/symbian/help/ScummVM.rtf @@ -50,16 +50,16 @@ Synonyms;}{\*\cs33 \additive \super \sbasedon10 endnote reference;}{\s34\ql \fi- {\listoverride\listid-119\listoverridecount0\ls7}{\listoverride\listid-125\listoverridecount0\ls8}{\listoverride\listid-120\listoverridecount0\ls9}{\listoverride\listid-129\listoverridecount0\ls10}{\listoverride\listid-119\listoverridecount0\ls11} {\listoverride\listid-125\listoverridecount0\ls12}{\listoverride\listid-120\listoverridecount0\ls13}{\listoverride\listid-129\listoverridecount0\ls14}{\listoverride\listid-119\listoverridecount0\ls15}{\listoverride\listid-125\listoverridecount0\ls16} {\listoverride\listid-120\listoverridecount0\ls17}{\listoverride\listid-129\listoverridecount0\ls18}{\listoverride\listid-119\listoverridecount0\ls19}{\listoverride\listid-125\listoverridecount0\ls20}{\listoverride\listid-120\listoverridecount0\ls21} -{\listoverride\listid-129\listoverridecount0\ls22}{\listoverride\listid-119\listoverridecount0\ls23}{\listoverride\listid-125\listoverridecount0\ls24}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23 -\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent283{\leveltext\'01\u-3991 ?;}{\levelnumbers;}\f30\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-283\li283 }}\ls25}{\listoverride\listid-2 -\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent283{\leveltext\'01\u-3991 ?;}{\levelnumbers;}\f30\chbrdr\brdrnone\brdrcf1 -\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-283\li283 }}\ls26}}{\info{\author Fedor}{\operator Fedor}{\creatim\yr2013\mo11\dy30\hr23\min4}{\revtim\yr2014\mo7\dy2\hr12\min57}{\version98}{\edmins92}{\nofpages8}{\nofwords1514}{\nofchars8634}{\*\company DEV} -{\nofcharsws0}{\vern8249}}\margl1701\margr850\margt1134\margb1134 \deftab708\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3 -\jcompress\viewkind4\viewscale100\nolnhtadjtbl \fet0{\*\template E:\\Documents and Settings\\Administrator\\Application Data\\Microsoft\\\'d8\'e0\'e1\'eb\'ee\'ed\'fb\\cshelp2000.dot}\sectd \linex0\sectdefaultcl {\*\pnseclvl1 -\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5 -\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang -{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s17\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 { -\lang1033\langfe1033\langnp1033 Author: Fedor Strizhniou.}{\f28 +{\listoverride\listid-129\listoverridecount0\ls22}{\listoverride\listid-119\listoverridecount0\ls23}{\listoverride\listid-125\listoverridecount0\ls24}{\listoverride\listid-120\listoverridecount0\ls25}{\listoverride\listid-129\listoverridecount0\ls26} +{\listoverride\listid-119\listoverridecount0\ls27}{\listoverride\listid-125\listoverridecount0\ls28}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\levelold\levelspace0\levelindent283{\leveltext\'01\u-3991 ?;}{\levelnumbers;}\f30\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-283\li283 }}\ls29}{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel +\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent283{\leveltext\'01\u-3991 ?;}{\levelnumbers;}\f30\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-283\li283 }}\ls30}}{\info{\author Fedor} +{\operator Fedor}{\creatim\yr2013\mo11\dy30\hr23\min4}{\revtim\yr2014\mo9\dy9\hr19\min22}{\version99}{\edmins93}{\nofpages8}{\nofwords1514}{\nofchars8634}{\*\company DEV}{\nofcharsws0}{\vern8249}}\margl1701\margr850\margt1134\margb1134 +\deftab708\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind4\viewscale100\nolnhtadjtbl \fet0{\*\template +E:\\Documents and Settings\\Administrator\\Application Data\\Microsoft\\\'d8\'e0\'e1\'eb\'ee\'ed\'fb\\cshelp2000.dot}\sectd \linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang +{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang +{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain +\s17\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\lang1033\langfe1033\langnp1033 Author: Fedor Strizhniou.}{\f28 \par }{\lang1033\langfe1033\langnp1033 Date: November 2013}{\f28 \par }{\lang1033\langfe1033\langnp1033 Version: 1.7.0 \par }\pard\plain \s1\ql \li0\ri0\sb360\sa240\keepn\widctlpar\nooverflow\faroman\outlinelevel0\rin0\lin0\itap0 \b\f1\fs32\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 {ScummVM Help @@ -67,8 +67,8 @@ Synonyms;}{\*\cs33 \additive \super \sbasedon10 endnote reference;}{\s34\ql \fi- \par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 \par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 About ScummVM Help -\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls25\pnrnot0 -\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls25\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {About ScummVM Help +\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls29\pnrnot0 +\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls29\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {About ScummVM Help \par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 \par }{ This help file based on ScummVM forum thread with some elaborations(in Anotherguest section) and text correction. If you wish add some text or translate you may download and modify source document from https://sourceforge.net/projects/scummvms60git/ and t @@ -79,8 +79,8 @@ hen send me to fedor_qd@mail.ru \par }{\f29 \par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 1st guide -\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls25\pnrnot0 -\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls25\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, UIQ, UIQ3, S80, s80, S90, s90 +\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls29\pnrnot0 +\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls29\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, UIQ, UIQ3, S80, s80, S90, s90 \par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 \par }{UIQ3 devices: To the top right (holding the phone portrait) you four icons, from the top they are \par @@ -121,9 +121,9 @@ hen send me to fedor_qd@mail.ru \par \par What are these Joystick, Keyboard and Cursor modes anyway? \par }{\f28 -\par }{Joystick mode sends SDL joystick events to ScummVM which acts as a mouse control in ScummVM. Cursor mode sends keyboard arrows instead, so for examp -le it can be used to navigate through directorylist (one hand use perhaps!?) or save games etc. Keyboard mode is only available for S60 and enables multi-tap to enter text characters in save dialogs. These modes are implemented at the underlying SDL level -, so this determines the types of events that ScummVM receives from SDL. +\par }{Joystick mode sends SDL joystick events to ScummVM which acts as a mouse control in ScummVM. Cursor mode sends keyboard arrows instead, so for example it can be used to navigate +through directorylist (one hand use perhaps!?) or save games etc. Keyboard mode is only available for S60 and enables multi-tap to enter text characters in save dialogs. These modes are implemented at the underlying SDL level, so this determines the types + of events that ScummVM receives from SDL. \par What are these Shrinked, Zoomed and Upscaled modes anyway? \par \par Shrink displays the game on your screen but in a shrinked way, either in Portrait or Landscape mode, so not all the pixels c @@ -135,8 +135,8 @@ s on S80/S90 devices in a better way for low resolution games. Currently it uses \par \par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 2nd guide -\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls25\pnrnot0 -\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls25\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60 +\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls29\pnrnot0 +\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls29\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60 \par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 \par \par }{More user-friendly guide for Nokia phones (based on N96 but should apply to most phones) @@ -178,8 +178,8 @@ t to exit Configuration Mode before typing! \par Only applies to Landscape mode, simply swaps the screen output between having the phone tilted on its left side or on its right side. \par \par 4 - Toggle Zoom On and Off -\par Zooms in on a portion of the screen. Handy for when you are looking through a screen for items or having trouble readin -g subtitles. Use the navigation buttons for panning around the play area. Don't forget you'll have to exit out of Configuration Mode before you can move the pointer again. Exiting Configuration Mode does not reset the zoom level. +\par Zooms in on a portion of the screen. Handy for when you are looking through a screen for items or having trouble reading subtitles. Use the navigation buttons for panning around + the play area. Don't forget you'll have to exit out of Configuration Mode before you can move the pointer again. Exiting Configuration Mode does not reset the zoom level. \par }{\f29 \par }{5 & 6 - Unused \par @@ -200,8 +200,8 @@ g subtitles. Use the navigation buttons for panning around the play area. Don't \par \par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 3rd guide -\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls25\pnrnot0 -\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls25\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60 +\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls29\pnrnot0 +\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls29\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60 \par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 \par \par }{ScummVM keys on Nokia e71 (most likely on any other qwerty-device, too), tested on version 0.14.0svn (Feb. 18 2009 @@ -278,11 +278,12 @@ kinda makes it unplayable. \par }{\f28 \par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {ScummVM1 engines list -\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls26\pnrnot0 -\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls26\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Supported engines +\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls30\pnrnot0 +\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls30\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Supported engines \par }\pard\plain \ql \li0\ri0\sa120\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {agi \par agos \par \tab AGOS2 +\par cge2 \par cine \par composer \par cruise @@ -311,8 +312,8 @@ kinda makes it unplayable. \par \par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {ScummVM2 engines list -\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls26\pnrnot0 -\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls26\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Supported engines +\par {\pntext\pard\plain\s26 \f30\fs20\lang2057\langfe1033\langnp2057\langfenp1033 \loch\af30\dbch\af0\hich\f30 \'69\tab}}\pard\plain \s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl0\ls30\pnrnot0 +\pnf30\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls30\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Supported engines \par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {avalanche \par cge \par composer diff --git a/backends/platform/symbian/mmp/config.mmh b/backends/platform/symbian/mmp/config.mmh index 12c1fc2d2d..075697d99a 100644 --- a/backends/platform/symbian/mmp/config.mmh +++ b/backends/platform/symbian/mmp/config.mmh @@ -48,7 +48,7 @@ OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid l OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings // -Wno-psabi turn off "note: the mangling of 'va_list' has changed in GCC 4.4" OPTION GCCE -pipe -Wno-multichar -Wno-reorder -Wno-unused \ - -Wno-format -fsigned-char-Wno-psabi + -Wno-format -fsigned-char -Wno-psabi ALWAYS_BUILD_AS_ARM // *** Include paths diff --git a/backends/platform/symbian/mmp/scummvm_cruise.mmp.in b/backends/platform/symbian/mmp/scummvm_cruise.mmp.in index 21a674dc1f..ceb5a2124f 100644 --- a/backends/platform/symbian/mmp/scummvm_cruise.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_cruise.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_cruise.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\cruise //STOP_AUTO_OBJECTS_CRUISE_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_draci.mmp.in b/backends/platform/symbian/mmp/scummvm_draci.mmp.in index fe899a91ff..77750ff696 100644 --- a/backends/platform/symbian/mmp/scummvm_draci.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_draci.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_draci.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -55,17 +52,3 @@ SOURCEPATH ..\..\..\..\engines\draci // *** Include paths -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_drascula.mmp.in b/backends/platform/symbian/mmp/scummvm_drascula.mmp.in index 8f532d4498..7f39126e68 100644 --- a/backends/platform/symbian/mmp/scummvm_drascula.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_drascula.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_drascula.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -55,17 +52,3 @@ SOURCEPATH ..\..\..\..\engines\drascula // *** Include paths -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_dreamweb.mmp.in b/backends/platform/symbian/mmp/scummvm_dreamweb.mmp.in index 89ffd23ebd..22d5050597 100644 --- a/backends/platform/symbian/mmp/scummvm_dreamweb.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_dreamweb.mmp.in @@ -33,10 +33,7 @@ TARGET scummvm_dreamweb.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -56,17 +53,3 @@ SOURCEPATH ..\..\..\..\engines\dreamweb // *** Include paths -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_gob.mmp.in b/backends/platform/symbian/mmp/scummvm_gob.mmp.in index 884b06c61a..a46ee9c403 100644 --- a/backends/platform/symbian/mmp/scummvm_gob.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_gob.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_gob.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\gob //STOP_AUTO_OBJECTS_GOB_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_groovie.mmp.in b/backends/platform/symbian/mmp/scummvm_groovie.mmp.in index 53fb33fef0..a2a3d5c47d 100644 --- a/backends/platform/symbian/mmp/scummvm_groovie.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_groovie.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_groovie.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -54,19 +51,3 @@ SOURCEPATH ..\..\..\..\engines\groovie //STOP_AUTO_OBJECTS_GROOVIE_// SOURCE roq.cpp -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_hopkins.mmp.in b/backends/platform/symbian/mmp/scummvm_hopkins.mmp.in index bafc11e65f..82728942a7 100644 --- a/backends/platform/symbian/mmp/scummvm_hopkins.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_hopkins.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_HOPKINS.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\HOPKINS //STOP_AUTO_OBJECTS_HOPKINS_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h
\ No newline at end of file diff --git a/backends/platform/symbian/mmp/scummvm_hugo.mmp.in b/backends/platform/symbian/mmp/scummvm_hugo.mmp.in index 58622a83fd..1f250bda3f 100644 --- a/backends/platform/symbian/mmp/scummvm_hugo.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_hugo.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_hugo.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\hugo //STOP_AUTO_OBJECTS_HUGO_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h
\ No newline at end of file diff --git a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in index 3fa05e856d..f3b30b1318 100644 --- a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_kyra.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -66,19 +63,3 @@ SOURCEPATH ..\..\..\..\engines\kyra //STOP_AUTO_OBJECTS_KYRA_ENABLE_EOB// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in b/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in index 8e0b3026c7..38d63b4648 100644 --- a/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_lastexpress.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\lastexpress //STOP_AUTO_OBJECTS_LASTEXPRESS_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_lure.mmp.in b/backends/platform/symbian/mmp/scummvm_lure.mmp.in index 89c93d058d..2922c9df49 100644 --- a/backends/platform/symbian/mmp/scummvm_lure.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_lure.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_lure.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\lure //STOP_AUTO_OBJECTS_LURE_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_m4.mmp.in b/backends/platform/symbian/mmp/scummvm_m4.mmp.in index b3024c93c3..0b3a0b60e4 100644 --- a/backends/platform/symbian/mmp/scummvm_m4.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_m4.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_m4.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\m4 //STOP_AUTO_OBJECTS_M4_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_made.mmp.in b/backends/platform/symbian/mmp/scummvm_made.mmp.in index d4a63f8d87..e240685753 100644 --- a/backends/platform/symbian/mmp/scummvm_made.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_made.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_made.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,20 +50,3 @@ SOURCEPATH ..\..\..\..\engines\made //STOP_AUTO_OBJECTS_MADE_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h - diff --git a/backends/platform/symbian/mmp/scummvm_mads.mmp.in b/backends/platform/symbian/mmp/scummvm_mads.mmp.in index d0d6091f83..e5e990dd2d 100644 --- a/backends/platform/symbian/mmp/scummvm_mads.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_mads.mmp.in @@ -33,10 +33,7 @@ TARGET scummvm_mads.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -54,19 +51,3 @@ SOURCEPATH ..\..\..\..\engines\mads //STOP_AUTO_OBJECTS_MADS_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in b/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in index e9175593ec..19bed823d5 100644 --- a/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_mohawk.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -72,19 +69,3 @@ SOURCEPATH ..\..\..\..\engines\mohawk //STOP_AUTO_OBJECTS_MOHAWK_ENABLE_CSTIME// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_mortevielle.mmp.in b/backends/platform/symbian/mmp/scummvm_mortevielle.mmp.in index f118ddbef0..06f9333c37 100644 --- a/backends/platform/symbian/mmp/scummvm_mortevielle.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_mortevielle.mmp.in @@ -33,10 +33,7 @@ TARGET scummvm_mortevielle.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -54,19 +51,3 @@ SOURCEPATH ..\..\..\..\engines\mortevielle //STOP_AUTO_OBJECTS_MORTEVIELLE_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_neverhood.mmp.in b/backends/platform/symbian/mmp/scummvm_neverhood.mmp.in index a57161577f..b6deeb2d73 100644 --- a/backends/platform/symbian/mmp/scummvm_neverhood.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_neverhood.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_neverhood.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -55,17 +52,3 @@ SOURCEPATH ..\..\..\..\engines\neverhood // *** Include paths -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in b/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in index cefdd1b282..c61e40626c 100644 --- a/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_parallaction.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\parallaction //STOP_AUTO_OBJECTS_PARALLACTION_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_pegasus.mmp.in b/backends/platform/symbian/mmp/scummvm_pegasus.mmp.in index 68b2c12774..3ef85bf29d 100644 --- a/backends/platform/symbian/mmp/scummvm_pegasus.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_pegasus.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_PEGASUS.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\PEGASUS //STOP_AUTO_OBJECTS_PEGASUS_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h
\ No newline at end of file diff --git a/backends/platform/symbian/mmp/scummvm_queen.mmp.in b/backends/platform/symbian/mmp/scummvm_queen.mmp.in index 94835aae90..3a15fdd0a2 100644 --- a/backends/platform/symbian/mmp/scummvm_queen.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_queen.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_queen.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\queen //STOP_AUTO_OBJECTS_QUEEN_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_saga.mmp.in b/backends/platform/symbian/mmp/scummvm_saga.mmp.in index 77bf839efe..ce5de459b2 100644 --- a/backends/platform/symbian/mmp/scummvm_saga.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_saga.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_saga.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -65,19 +62,3 @@ SOURCEPATH ..\..\..\..\engines\saga //STOP_AUTO_OBJECTS_SAGA_ENABLE_SAGA2// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_sci.mmp.in b/backends/platform/symbian/mmp/scummvm_sci.mmp.in index d08501e471..49484b8c7c 100644 --- a/backends/platform/symbian/mmp/scummvm_sci.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sci.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_sci.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -60,20 +57,3 @@ SOURCEPATH ..\..\..\..\engines\sci //STOP_AUTO_OBJECTS_SCI_ENABLE_SCI32// - -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_scumm.mmp.in b/backends/platform/symbian/mmp/scummvm_scumm.mmp.in index a11dd071d3..60c54697d0 100644 --- a/backends/platform/symbian/mmp/scummvm_scumm.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_scumm.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_scumm.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -78,17 +75,5 @@ SOURCE smush/codec47ARM.s // ARM version: add ASM routines // *** Include paths -USERINCLUDE ..\..\..\..\engines ..\..\..\..\engines\scumm\smush ..\..\..\..\engines\scumm\insane -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h +USERINCLUDE ..\..\..\..\engines\scumm\smush ..\..\..\..\engines\scumm\insane + diff --git a/backends/platform/symbian/mmp/scummvm_sky.mmp.in b/backends/platform/symbian/mmp/scummvm_sky.mmp.in index 37fdc89f99..5363bb32ef 100644 --- a/backends/platform/symbian/mmp/scummvm_sky.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sky.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_sky.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -55,17 +52,5 @@ SOURCEPATH ..\..\..\..\engines\sky // *** Include paths -USERINCLUDE ..\..\..\..\engines ..\..\..\..\engines\sky\music -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\..\engines\sky\music -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_sword1.mmp.in b/backends/platform/symbian/mmp/scummvm_sword1.mmp.in index 352cbe59f0..b4b2b91dae 100644 --- a/backends/platform/symbian/mmp/scummvm_sword1.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sword1.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_sword1.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\sword1 //STOP_AUTO_OBJECTS_SWORD1_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_sword2.mmp.in b/backends/platform/symbian/mmp/scummvm_sword2.mmp.in index 7b79bf7f5c..a8c963a618 100644 --- a/backends/platform/symbian/mmp/scummvm_sword2.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sword2.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_sword2.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\sword2 //STOP_AUTO_OBJECTS_SWORD2_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_sword25.mmp.in b/backends/platform/symbian/mmp/scummvm_sword25.mmp.in index 4159350bce..67efc10c45 100644 --- a/backends/platform/symbian/mmp/scummvm_sword25.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sword25.mmp.in @@ -33,10 +33,7 @@ TARGET scummvm_sword25.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -56,18 +53,6 @@ SOURCEPATH ..\..\..\..\engines\sword25 // *** Include paths -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src -USERINCLUDE ..\..\..\..\engines\sword25\util\lua ..\..\..\..\engines\sword25\util\pluto +USERINCLUDE ..\..\..\..\engines\sword25\util\lua +USERINCLUDE ..\..\..\..\engines\sword25\util\pluto -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in b/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in index 332b9f20ac..9551eda7b6 100644 --- a/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in @@ -32,10 +32,7 @@ TARGET scummvm_teenagent.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -53,19 +50,3 @@ SOURCEPATH ..\..\..\..\engines\teenagent //STOP_AUTO_OBJECTS_TEENAGENT_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h diff --git a/backends/platform/symbian/mmp/scummvm_testbed.mmp.in b/backends/platform/symbian/mmp/scummvm_testbed.mmp.in index 20d3789a31..24b87d154c 100644 --- a/backends/platform/symbian/mmp/scummvm_testbed.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_testbed.mmp.in @@ -33,10 +33,7 @@ TARGET scummvm_testbed.lib TARGETTYPE lib -OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp -OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings -OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char -ALWAYS_BUILD_AS_ARM +#include "config.mmh" //START_AUTO_MACROS_SLAVE// @@ -54,19 +51,3 @@ SOURCEPATH ..\..\..\..\engines\testbed //STOP_AUTO_OBJECTS_TESTBED_// -// *** Include paths - -USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src - -SYSTEMINCLUDE \epoc32\include\freetype -SYSTEMINCLUDE \epoc32\include\mpeg2dec -SYSTEMINCLUDE \epoc32\include\jpeg -SYSTEMINCLUDE \epoc32\include\png -SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE \epoc32\include\theora -SYSTEMINCLUDE \epoc32\include\tremor -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE ..\src // for portdefs.h @@ -3848,8 +3848,8 @@ if test "$_libunity" = auto ; then ;; *) # Unity has a lots of dependencies, update the libs and cflags var with them - LIBUNITY_LIBS="$LIBUNITY_LIBS `pkg-config --libs unity = 3.8.4 2>> "$TMPLOG"`" - LIBUNITY_CFLAGS="$LIBUNITY_CFLAGS `pkg-config --cflags unity = 3.8.4 2>> "$TMPLOG"`" + LIBUNITY_LIBS="$LIBUNITY_LIBS `pkg-config --libs 'unity > 3.8.1' 2>> "$TMPLOG"`" + LIBUNITY_CFLAGS="$LIBUNITY_CFLAGS `pkg-config --cflags 'unity > 3.8.1' 2>> "$TMPLOG"`" _libunity=no cat > $TMPC << EOF #include <unity.h> @@ -3863,6 +3863,10 @@ EOF esac fi if test "$_libunity" = yes ; then + if test "$LIBUNITY_CFLAGS" = "" || test "$LIBUNITY_LIBS" = ""; then + LIBUNITY_LIBS="$LIBUNITY_LIBS `pkg-config --libs 'unity > 3.8.1' 2>> "$TMPLOG"`" + LIBUNITY_CFLAGS="$LIBUNITY_CFLAGS `pkg-config --cflags 'unity > 3.8.1' 2>> "$TMPLOG"`" + fi LIBS="$LIBS $LIBUNITY_LIBS" INCLUDES="$INCLUDES $LIBUNITY_CFLAGS" fi diff --git a/engines/cge/detection.cpp b/engines/cge/detection.cpp index 022ff4df95..da5eb2b1f2 100644 --- a/engines/cge/detection.cpp +++ b/engines/cge/detection.cpp @@ -28,35 +28,19 @@ #include "base/plugins.h" #include "graphics/thumbnail.h" #include "cge/cge.h" +#include "cge/fileio.h" namespace CGE { -struct CgeGameDescription { - ADGameDescription desc; -}; - #define GAMEOPTION_COLOR_BLIND_DEFAULT_OFF GUIO_GAMEOPTIONS1 -} // End of namespace CGE - static const PlainGameDescriptor CGEGames[] = { { "soltys", "Soltys" }, { 0, 0 } }; -namespace CGE { - static const ADGameDescription gameDescriptions[] = { { - "soltys", "", - { - {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176}, - {"vol.dat", 0, "f9ae2e7f8f7cac91378cdafca43faf1e", 8437572}, - AD_LISTEND - }, - Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO0() - }, - { "soltys", "Freeware", { {"vol.cat", 0, "0c33e2c304821a2444d297fc5e2d67c6", 50176}, @@ -114,12 +98,6 @@ static const ADGameDescription gameDescriptions[] = { AD_TABLE_END_MARKER }; -static const ADFileBasedFallback fileBasedFallback[] = { - { &gameDescriptions[0], { "vol.cat", "vol.dat", 0 } }, - { 0, { 0 } } -}; -} // End of namespace CGE - static const ADExtraGuiOptionsMap optionsList[] = { { GAMEOPTION_COLOR_BLIND_DEFAULT_OFF, @@ -136,14 +114,10 @@ static const ADExtraGuiOptionsMap optionsList[] = { class CGEMetaEngine : public AdvancedMetaEngine { public: - CGEMetaEngine() : AdvancedMetaEngine(CGE::gameDescriptions, sizeof(CGE::CgeGameDescription), CGEGames, optionsList) { + CGEMetaEngine() : AdvancedMetaEngine(CGE::gameDescriptions, sizeof(ADGameDescription), CGEGames, optionsList) { _singleid = "soltys"; } - virtual const ADGameDescription *fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const { - return detectGameFilebased(allFiles, fslist, CGE::fileBasedFallback); - } - virtual const char *getName() const { return "CGE"; } @@ -152,6 +126,7 @@ public: return "Soltys (c) 1994-1996 L.K. Avalon"; } + virtual const ADGameDescription *fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const; virtual bool hasFeature(MetaEngineFeature f) const; virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const; virtual int getMaximumSaveSlot() const; @@ -160,6 +135,44 @@ public: virtual void removeSaveState(const char *target, int slot) const; }; +static const ADFileBasedFallback fileBasedFallback[] = { + { &gameDescriptions[0], { "vol.cat", "vol.dat", 0 } }, + { 0, { 0 } } +}; + +static ADGameDescription s_fallbackDesc = { + "Soltys", + "Unknown version", + AD_ENTRY1(0, 0), // This should always be AD_ENTRY1(0, 0) in the fallback descriptor + Common::UNK_LANG, + Common::kPlatformDOS, + ADGF_NO_FLAGS, + GUIO1(GAMEOPTION_COLOR_BLIND_DEFAULT_OFF) +}; + +const ADGameDescription *CGEMetaEngine::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const { + ADFilePropertiesMap filesProps; + + const ADGameDescription *game; + game = detectGameFilebased(allFiles, fslist, CGE::fileBasedFallback, &filesProps); + + if (!game) + return nullptr; + + SearchMan.clear(); + SearchMan.addDirectory(fslist.begin()->getParent().getPath(), fslist.begin()->getParent()); + ResourceManager *resman; + resman = new ResourceManager(); + bool result = resman->exist("CGE.SAY"); + delete resman; + + if (!result) + return nullptr; + + reportUnknown(fslist.begin()->getParent(), filesProps); + return &s_fallbackDesc; +} + bool CGEMetaEngine::hasFeature(MetaEngineFeature f) const { return (f == kSupportsListSaves) || @@ -269,9 +282,10 @@ bool CGEMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameD } return desc != 0; } +} // End of namespace CGE #if PLUGIN_ENABLED_DYNAMIC(CGE) - REGISTER_PLUGIN_DYNAMIC(CGE, PLUGIN_TYPE_ENGINE, CGEMetaEngine); +REGISTER_PLUGIN_DYNAMIC(CGE, PLUGIN_TYPE_ENGINE, CGE::CGEMetaEngine); #else - REGISTER_PLUGIN_STATIC(CGE, PLUGIN_TYPE_ENGINE, CGEMetaEngine); +REGISTER_PLUGIN_STATIC(CGE, PLUGIN_TYPE_ENGINE, CGE::CGEMetaEngine); #endif diff --git a/engines/cge/fileio.cpp b/engines/cge/fileio.cpp index d910e275eb..8609110782 100644 --- a/engines/cge/fileio.cpp +++ b/engines/cge/fileio.cpp @@ -121,7 +121,10 @@ BtPage *ResourceManager::getPage(int level, uint16 pageId) { if (_buff[level]._pageNo != pageId) { int32 pos = pageId * kBtSize; _buff[level]._pageNo = pageId; - assert(_catFile->size() > pos); + + if (_catFile->size() <= pos) + return nullptr; + // In the original, there was a check verifying if the // purpose was to write a new file. This should only be // to create a new file, thus it was removed. @@ -146,6 +149,9 @@ BtKeypack *ResourceManager::find(const char *key) { uint16 nxt = kBtValRoot; while (!_catFile->eos()) { BtPage *pg = getPage(lev, nxt); + if (!pg) + return nullptr; + // search if (pg->_header._down != kBtValNone) { int i; @@ -167,13 +173,17 @@ BtKeypack *ResourceManager::find(const char *key) { return &pg->_leaf[i]; } } - return NULL; + return nullptr; } bool ResourceManager::exist(const char *name) { debugC(1, kCGEDebugFile, "ResourceManager::exist(%s)", name); - return scumm_stricmp(find(name)->_key, name) == 0; + BtKeypack* result = find(name); + if (!result) + return false; + + return scumm_stricmp(result->_key, name) == 0; } uint16 ResourceManager::catRead(byte *buf, uint16 length) { diff --git a/engines/cge2/cge2.cpp b/engines/cge2/cge2.cpp index 852b7afb22..37d87ba09c 100644 --- a/engines/cge2/cge2.cpp +++ b/engines/cge2/cge2.cpp @@ -76,6 +76,7 @@ CGE2Engine::CGE2Engine(OSystem *syst, const ADGameDescription *gameDescription) _vol[i] = nullptr; _eventManager = nullptr; _map = nullptr; + _console = nullptr; _quitFlag = false; _bitmapPalette = nullptr; _gamePhase = kPhaseIntro; diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h index 1f1cb17b48..50b418f294 100644 --- a/engines/cge2/cge2.h +++ b/engines/cge2/cge2.h @@ -93,10 +93,7 @@ struct SavegameHeader; #define kPowerRef 123 #define kDvolRef 124 #define kMvolRef 125 -#define kRef 126 #define kBusyRef 127 -#define kCapRef 128 -#define kVoxRef 129 #define kOffUseCount 130 #define kOffUseText 131 diff --git a/engines/cge2/cge2_main.cpp b/engines/cge2/cge2_main.cpp index 1057b00089..3e3d615a91 100644 --- a/engines/cge2/cge2_main.cpp +++ b/engines/cge2/cge2_main.cpp @@ -722,10 +722,9 @@ void CGE2Engine::loadTab() { if (_resman->exist(kTabName)) { EncryptedStream f(this, kTabName); - uint32 v; for (int i = 0; i < kSceneMax; i++) { - v = f.readUint32LE(); + uint32 v = f.readUint32LE(); _eyeTab[i]->_x = FXP(v >> 8, static_cast<int>((int8)(v & 0xff))); v = f.readUint32LE(); diff --git a/engines/cge2/detection.cpp b/engines/cge2/detection.cpp index 605a3fe377..c05ce70c3d 100644 --- a/engines/cge2/detection.cpp +++ b/engines/cge2/detection.cpp @@ -26,6 +26,7 @@ */ #include "cge2/cge2.h" +#include "cge2/fileio.h" #include "engines/advancedDetector.h" #include "common/translation.h" #include "graphics/surface.h" @@ -60,6 +61,16 @@ static const ADGameDescription gameDescriptions[] = { Common::PL_POL, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO1(GAMEOPTION_COLOR_BLIND_DEFAULT_OFF) }, + { + "sfinx", "Freeware v0.3", + { + {"vol.cat", 0, "f158e469dccbebc5a632eb848df89779", 129024}, + {"vol.dat", 0, "d40a6b4ae173d6930be54ba56bee15d5", 34183430}, + AD_LISTEND + }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO1(GAMEOPTION_COLOR_BLIND_DEFAULT_OFF) + }, + AD_TABLE_END_MARKER }; @@ -91,16 +102,55 @@ public: return "Sfinx (c) 1994-1997 Janus B. Wisniewski and L.K. Avalon"; } + virtual const ADGameDescription *fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const; virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const; virtual bool hasFeature(MetaEngineFeature f) const; virtual int getMaximumSaveSlot() const; virtual SaveStateList listSaves(const char *target) const; SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const; virtual void removeSaveState(const char *target, int slot) const; +}; + +static const ADFileBasedFallback fileBasedFallback[] = { + { &gameDescriptions[0], { "vol.cat", "vol.dat", 0 } }, + { 0, { 0 } } +}; - const ADGameDescription *fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const; +static ADGameDescription s_fallbackDesc = { + "Sfinx", + "Unknown version", + AD_ENTRY1(0, 0), // This should always be AD_ENTRY1(0, 0) in the fallback descriptor + Common::UNK_LANG, + Common::kPlatformDOS, + ADGF_NO_FLAGS, + GUIO1(GAMEOPTION_COLOR_BLIND_DEFAULT_OFF) }; +// This fallback detection looks identical to the one used for CGE. In fact, the difference resides +// in the ResourceManager which handles a different archive format. The rest of the detection is identical. +const ADGameDescription *CGE2MetaEngine::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const { + ADFilePropertiesMap filesProps; + + const ADGameDescription *game; + game = detectGameFilebased(allFiles, fslist, CGE2::fileBasedFallback, &filesProps); + + if (!game) + return 0; + + SearchMan.clear(); + SearchMan.addDirectory(fslist.begin()->getParent().getPath(), fslist.begin()->getParent()); + ResourceManager *resman; + resman = new ResourceManager(); + bool result = resman->exist("CGE.SAY"); + delete resman; + + if (!result) + return 0; + + reportUnknown(fslist.begin()->getParent(), filesProps); + return &s_fallbackDesc; +} + bool CGE2MetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { if (desc) *engine = new CGE2::CGE2Engine(syst, desc); @@ -118,31 +168,6 @@ bool CGE2MetaEngine::hasFeature(MetaEngineFeature f) const { (f == kSupportsLoadingDuringStartup); } -const ADGameDescription *CGE2MetaEngine::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const { - static ADGameDescription desc; - - for (Common::FSList::const_iterator file = fslist.begin(); file != fslist.end(); ++file) { - if (file->isDirectory()) - continue; - - if (file->getName().equalsIgnoreCase("lang.eng")) { - Common::File dataFile; - if (!dataFile.open(*file)) - continue; - - desc.gameid = "sfinx"; - desc.extra = "Translation Alpha v0.3"; - desc.language = Common::EN_ANY; - desc.platform = Common::kPlatformDOS; - desc.flags = ADGF_NO_FLAGS; - desc.guioptions = GUIO1(GAMEOPTION_COLOR_BLIND_DEFAULT_OFF); - - return (const ADGameDescription *)&desc; - } - } - return 0; -} - int CGE2MetaEngine::getMaximumSaveSlot() const { return 99; } diff --git a/engines/cge2/fileio.cpp b/engines/cge2/fileio.cpp index 6f8009716b..acb5bb870f 100644 --- a/engines/cge2/fileio.cpp +++ b/engines/cge2/fileio.cpp @@ -116,7 +116,10 @@ BtPage *ResourceManager::getPage(int level, uint16 pageId) { if (_buff[level]._pageNo != pageId) { int32 pos = pageId * kBtSize; _buff[level]._pageNo = pageId; - assert(_catFile->size() > pos); + + if (_catFile->size() <= pos) + return nullptr; + // In the original, there was a check verifying if the // purpose was to write a new file. This should only be // to create a new file, thus it was removed. @@ -139,6 +142,9 @@ BtKeypack *ResourceManager::find(const char *key) { uint16 nxt = kBtValRoot; while (!_catFile->eos()) { BtPage *pg = getPage(lev, nxt); + if (!pg) + return nullptr; + // search if (pg->_header._down != kBtValNone) { int i; @@ -170,7 +176,11 @@ BtKeypack *ResourceManager::find(const char *key) { } bool ResourceManager::exist(const char *name) { - return scumm_stricmp(find(name)->_key, name) == 0; + BtKeypack *result = find(name); + if (!result) + return false; + + return scumm_stricmp(result->_key, name) == 0; } uint16 ResourceManager::catRead(byte *buf, uint16 length) { diff --git a/engines/cge2/hero.cpp b/engines/cge2/hero.cpp index 86bd7ac953..225df54bd1 100644 --- a/engines/cge2/hero.cpp +++ b/engines/cge2/hero.cpp @@ -31,13 +31,14 @@ namespace CGE2 { -Hero::Hero(CGE2Engine *vm) - : Sprite(vm), _contact(nullptr), _dir(kNoDir), - _curDim(0), _tracePtr(-1), _ignoreMap(false), _maxDist(0) { +Hero::Hero(CGE2Engine *vm) : Sprite(vm), _contact(nullptr), _dir(kNoDir), + _curDim(0), _tracePtr(-1), _ignoreMap(false), _maxDist(0) { - for (int i = 0; i < kDimMax; i++) { + for (int i = 0; i < kDimMax; i++) _dim[i] = nullptr; - } + + _reachStart = _reachCycle = _sayStart = _funStart = 0; + _funDel0 = _funDel = 0; } Hero::~Hero() { @@ -120,7 +121,8 @@ Sprite *Hero::expand() { break; case kIdName: Common::strlcpy(tmpStr, line.c_str(), sizeof(tmpStr)); - for (p = tmpStr; *p != '='; p++); // We search for the = + for (p = tmpStr; *p != '='; p++) // We search for the = + ; setName(_vm->tail(p)); break; default: @@ -201,7 +203,7 @@ Sprite *Hero::expand() { delete[] text; int i = stepSize() / 2; - _maxDist = sqrt(double(i * i * 2)); + _maxDist = (int)sqrt(double(i * i * 2)); setCurrent(); return this; @@ -413,7 +415,7 @@ void Hero::fun() { } int Hero::len(V2D v) { - return sqrt(double(v.x * v.x + v.y * v.y)); + return (int)sqrt(double(v.x * v.x + v.y * v.y)); } bool Hero::findWay(){ diff --git a/engines/cge2/map.cpp b/engines/cge2/map.cpp index 1ed0ea7daf..8c1f00048f 100644 --- a/engines/cge2/map.cpp +++ b/engines/cge2/map.cpp @@ -42,7 +42,7 @@ void Map::clear() { void Map::load(int scene) { clear(); - char fname[] = "%.2d.MAP\0"; + const char *fname = "%.2d.MAP"; Common::String fileName = Common::String::format(fname, scene); if (!_vm->_resman->exist(fileName.c_str())) return; diff --git a/engines/cge2/sound.cpp b/engines/cge2/sound.cpp index 32f94b17b9..57ec5983e8 100644 --- a/engines/cge2/sound.cpp +++ b/engines/cge2/sound.cpp @@ -143,9 +143,9 @@ void Fx::clear() { } Common::String Fx::name(int ref, int sub) { - char fxname[] = "%.2dfx%.2d.WAV\0"; - char subName[] = "%.2dfx%.2d?.WAV\0"; - char *p = (sub) ? subName : fxname; + const char *fxname = "%.2dfx%.2d.WAV"; + const char *subName = "%.2dfx%.2d?.WAV"; + const char *p = (sub) ? subName : fxname; Common::String filename = Common::String::format(p, ref >> 8, ref & 0xFF); if (sub) filename.setChar('@' + sub, 6); diff --git a/engines/cge2/toolbar.cpp b/engines/cge2/toolbar.cpp index 6af64b1f5c..0cd220c984 100644 --- a/engines/cge2/toolbar.cpp +++ b/engines/cge2/toolbar.cpp @@ -35,11 +35,11 @@ namespace CGE2 { -#define kSoundNumtoStateRate 25.7 +#define kSoundNumToStateRate 25.7 // == 257 / 10; where 10 equals to the volume switches' number of states [0..9] // and ScummVM has a scale of 257 different values for setting sounds. -#define kSoundStatetoNumRate 28.45 +#define kSoundStateToNumRate 28.45 // == 256 / 9 + 0.1; where 256 is the positive range of numbers we can set the volume to // and the 10 states of a switch cut this range up to 9 equally big parts. // We don't take into account 0 regarding the 256 different values (it would be the 257th), @@ -120,7 +120,7 @@ void CGE2Engine::setVolume(int idx, int cnt) { int p = _vol[idx]->_seqPtr + cnt; if ((p >= 0) && (p < _vol[idx]->_seqCnt)) { _vol[idx]->step(p); - int newVolume = p * kSoundStatetoNumRate; + int newVolume = (int)(p * kSoundStateToNumRate); switch (idx) { case 0: _oldSfxVolume = ConfMan.getInt("sfx_volume"); @@ -140,11 +140,11 @@ void CGE2Engine::setVolume(int idx, int cnt) { void CGE2Engine::checkVolumeSwitches() { int musicVolume = ConfMan.getInt("music_volume"); if (musicVolume != _oldMusicVolume) - _vol[1]->step(musicVolume / kSoundNumtoStateRate); + _vol[1]->step((int)(musicVolume / kSoundNumToStateRate)); int sfxVolume = ConfMan.getInt("sfx_volume"); if (sfxVolume != _oldSfxVolume) - _vol[0]->step(sfxVolume / kSoundNumtoStateRate); + _vol[0]->step((int)(sfxVolume / kSoundNumToStateRate)); } void CGE2Engine::switchCap() { @@ -208,14 +208,13 @@ void CGE2Engine::initToolbar() { void CGE2Engine::initVolumeSwitch(Sprite *volSwitch, int val) { int state = 0; - state = val / kSoundNumtoStateRate; + state = (int)(val / kSoundNumToStateRate); volSwitch->step(state); } void CGE2Engine::checkMute() { bool mute = ConfMan.getBool("mute"); - bool mutedChanged = mute != _muteAll; - if (mutedChanged) { + if (mute != _muteAll) { switchMusic(); switchVox(); _muteAll = mute; diff --git a/engines/cge2/vga13h.cpp b/engines/cge2/vga13h.cpp index db96682237..227633579e 100644 --- a/engines/cge2/vga13h.cpp +++ b/engines/cge2/vga13h.cpp @@ -371,7 +371,8 @@ Sprite *Sprite::expand() { break; case kIdName: Common::strlcpy(tmpStr, line.c_str(), sizeof(tmpStr)); - for (p = tmpStr; *p != '='; p++); // We search for the = + for (p = tmpStr; *p != '='; p++) // We search for the = + ; setName(_vm->tail(p)); break; default: diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index 1431ceffba..8ec05caaff 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -340,7 +340,7 @@ void sceneHandler27_wipeDo() { bool sceneHandler27_batFallLogic(uint batn) { Bat *bat = g_vars->scene27_bats[batn]; - int y = (bat->currY - 458.0) * 0.4848484848484849 + 734.0; + int y = (int)((bat->currY - 458.0) * 0.4848484848484849 + 734.0); if (y >= bat->currX) return false; diff --git a/engines/mads/animation.cpp b/engines/mads/animation.cpp index 512a3979f9..9b2c097004 100644 --- a/engines/mads/animation.cpp +++ b/engines/mads/animation.cpp @@ -32,10 +32,8 @@ void AAHeader::load(Common::SeekableReadStream *f) { _miscEntriesCount = f->readUint16LE(); _frameEntriesCount = f->readUint16LE(); _messagesCount = f->readUint16LE(); - f->skip(1); - _flags = f->readByte(); - - f->skip(2); + _loadFlags = f->readUint16LE(); + _charSpacing = f->readSint16LE(); _bgType = (AnimBgType)f->readUint16LE(); _roomNumber = f->readUint16LE(); f->skip(2); @@ -49,7 +47,7 @@ void AAHeader::load(Common::SeekableReadStream *f) { char buffer[FILENAME_SIZE]; f->read(buffer, FILENAME_SIZE); buffer[FILENAME_SIZE - 1] = '\0'; - _interfaceFile = Common::String(buffer); + _backgroundFile = Common::String(buffer); for (int i = 0; i < 50; ++i) { f->read(buffer, FILENAME_SIZE); @@ -134,7 +132,8 @@ void AnimMiscEntry::load(Common::SeekableReadStream *f) { _numTicks = f->readUint16LE(); _posAdjust.x = f->readSint16LE(); _posAdjust.y = f->readSint16LE(); - _field8 = f->readUint16LE(); + _scroll.x = f->readSByte(); + _scroll.y = f->readSByte(); } /*------------------------------------------------------------------------*/ @@ -189,7 +188,7 @@ Animation::~Animation() { } } -void Animation::load(UserInterface &interfaceSurface, DepthSurface &depthSurface, +void Animation::load(MSurface &backSurface, DepthSurface &depthSurface, const Common::String &resName, int flags, Common::Array<PaletteCycle> *palCycles, SceneInfo *sceneInfo) { Common::String resourceName = resName; @@ -207,7 +206,7 @@ void Animation::load(UserInterface &interfaceSurface, DepthSurface &depthSurface flags |= PALFLAG_RESERVED; if (flags & ANIMFLAG_LOAD_BACKGROUND) { - loadInterface(interfaceSurface, depthSurface, _header, flags, palCycles, sceneInfo); + loadBackground(backSurface, depthSurface, _header, flags, palCycles, sceneInfo); } if (flags & ANIMFLAG_LOAD_BACKGROUND_ONLY) { // No data @@ -275,7 +274,7 @@ void Animation::load(UserInterface &interfaceSurface, DepthSurface &depthSurface // If the animation specifies a font, then load it for access delete _font; - if (_header._flags & ANIMFLAG_CUSTOM_FONT) { + if (_header._loadFlags & ANIMFLAG_CUSTOM_FONT) { Common::String fontName = "*" + _header._fontResource; _font = _vm->_font->getFont(fontName.c_str()); } else { @@ -385,12 +384,12 @@ bool Animation::drawFrame(SpriteAsset &spriteSet, const Common::Point &pt, int f return 0; } -void Animation::loadInterface(UserInterface &interfaceSurface, DepthSurface &depthSurface, +void Animation::loadBackground(MSurface &backSurface, DepthSurface &depthSurface, AAHeader &header, int flags, Common::Array<PaletteCycle> *palCycles, SceneInfo *sceneInfo) { _scene->_depthStyle = 0; if (header._bgType <= ANIMBG_FULL_SIZE) { _vm->_palette->_paletteUsage.setEmpty(); - sceneInfo->load(header._roomNumber, flags, header._interfaceFile, 0, depthSurface, interfaceSurface); + sceneInfo->load(header._roomNumber, 0, header._backgroundFile, flags, depthSurface, backSurface); _scene->_depthStyle = sceneInfo->_depthStyle == 2 ? 1 : 0; if (palCycles) { palCycles->clear(); @@ -399,8 +398,8 @@ void Animation::loadInterface(UserInterface &interfaceSurface, DepthSurface &dep } } else if (header._bgType == ANIMBG_INTERFACE) { // Load a scene interface - Common::String resourceName = "*" + header._interfaceFile; - interfaceSurface.load(resourceName); + Common::String resourceName = "*" + header._backgroundFile; + backSurface.load(resourceName); if (palCycles) palCycles->clear(); diff --git a/engines/mads/animation.h b/engines/mads/animation.h index 15086d3e41..917d899ec5 100644 --- a/engines/mads/animation.h +++ b/engines/mads/animation.h @@ -34,8 +34,8 @@ namespace MADS { enum AnimFlag { - ANIMFLAG_DITHER = 0x0001, // Dither to 16 colors - ANIMFLAG_CUSTOM_FONT = 0x0020, // Load ccustom font + ANIMFLAG_DITHER = 0x1000, // Dither to 16 colors + ANIMFLAG_CUSTOM_FONT = 0x2000, // Load ccustom font ANIMFLAG_LOAD_BACKGROUND = 0x0100, // Load background ANIMFLAG_LOAD_BACKGROUND_ONLY = 0x0200 // Load background only }; @@ -82,7 +82,7 @@ public: int _msgIndex; int _numTicks; Common::Point _posAdjust; - int _field8; + Common::Point _scroll; /** * Loads data for the record @@ -116,14 +116,15 @@ public: int _miscEntriesCount; int _frameEntriesCount; int _messagesCount; - byte _flags; + int _loadFlags; + int _charSpacing; AnimBgType _bgType; int _roomNumber; bool _manualFlag; int _spritesIndex; Common::Point _scrollPosition; uint32 _scrollTicks; - Common::String _interfaceFile; + Common::String _backgroundFile; Common::StringArray _spriteSetNames; Common::String _lbmFilename; Common::String _spritesFilename; @@ -166,9 +167,9 @@ private: bool drawFrame(SpriteAsset &spriteSet, const Common::Point &pt, int frameNumber); /** - * Load the user interface display for an animation + * Load the user interface display or background for an animation */ - void loadInterface(UserInterface &interfaceSurface, DepthSurface &depthSurface, + void loadBackground(MSurface &backSurface, DepthSurface &depthSurface, AAHeader &header, int flags, Common::Array<PaletteCycle> *palCycles, SceneInfo *sceneInfo); /** @@ -196,7 +197,7 @@ public: /** * Loads animation data */ - void load(UserInterface &interfaceSurface, DepthSurface &depthSurface, const Common::String &resName, + void load(MSurface &backSurface, DepthSurface &depthSurface, const Common::String &resName, int flags, Common::Array<PaletteCycle> *palCycles, SceneInfo *sceneInfo); /** @@ -223,6 +224,8 @@ public: int roomNumber() const { return _header._roomNumber; } void resetSpriteSetsCount() { _header._spriteSetsCount = 0; } // CHECKME: See if it doesn't leak the memory when the destructor is called + + SpriteAsset *getSpriteSet(int idx) { return _spriteSets[idx]; } }; } // End of namespace MADS diff --git a/engines/mads/msurface.h b/engines/mads/msurface.h index 3a5bf22eed..ebfb1f437a 100644 --- a/engines/mads/msurface.h +++ b/engines/mads/msurface.h @@ -64,6 +64,11 @@ public: * Helper method for calculating new dimensions when scaling a sprite */ static int scaleValue(int value, int scale, int err); + + /** + * Base method for descendents to load their contents + */ + virtual void load(const Common::String &resName) {} public: /** * Basic constructor diff --git a/engines/mads/nebular/menu_nebular.cpp b/engines/mads/nebular/menu_nebular.cpp index 4d3beb3382..4f9493ade5 100644 --- a/engines/mads/nebular/menu_nebular.cpp +++ b/engines/mads/nebular/menu_nebular.cpp @@ -434,7 +434,7 @@ char TextView::_resourceName[100]; void TextView::execute(MADSEngine *vm, const Common::String &resName) { assert(resName.size() < 100); - strncpy(_resourceName, resName.c_str(), sizeof(_resourceName)); + Common::strlcpy(_resourceName, resName.c_str(), sizeof(_resourceName)); vm->_dialogs->_pendingDialog = DIALOG_TEXTVIEW; } @@ -451,6 +451,7 @@ TextView::TextView(MADSEngine *vm) : MenuView(vm) { _font = _vm->_font->getFont(FONT_CONVERSATION); _vm->_palette->resetGamePalette(4, 0); + load(); } @@ -495,7 +496,7 @@ void TextView::processLines() { processCommand(); // Copy rest of line (if any) to start of buffer - strncpy(_currentLine, cEnd + 1, sizeof(_currentLine)); + Common::strlcpy(_currentLine, cEnd + 1, sizeof(_currentLine)); cStart = strchr(_currentLine, '['); } @@ -656,7 +657,6 @@ void TextView::processText() { void TextView::display() { FullScreenDialog::display(); - _sceneChanged = true; } void TextView::resetPalette() { @@ -788,7 +788,7 @@ char AnimationView::_resourceName[100]; void AnimationView::execute(MADSEngine *vm, const Common::String &resName) { assert(resName.size() < 100); - strncpy(_resourceName, resName.c_str(), sizeof(_resourceName)); + Common::strlcpy(_resourceName, resName.c_str(), sizeof(_resourceName)); vm->_dialogs->_pendingDialog = DIALOG_ANIMVIEW; } @@ -796,13 +796,31 @@ AnimationView::AnimationView(MADSEngine *vm) : MenuView(vm) { _soundDriverLoaded = false; _previousUpdate = 0; _screenId = -1; - _showWhiteBars = true; _resetPalette = false; _resyncMode = NEVER; + _v1 = 0; + _v2 = -1; + _resourceIndex = -1; + _currentAnimation = nullptr; + _sfx = 0; + _soundFlag = _bgLoadFlag = true; + _showWhiteBars = true; + _manualFrameNumber = 0; + _manualSpriteSet = nullptr; + _manualStartFrame = _manualEndFrame = 0; + _manualFrame2 = 0; + _hasManual = false; + _animFrameNumber = 0; + _sceneInfo = SceneInfo::init(_vm); load(); } +AnimationView::~AnimationView() { + delete _currentAnimation; + delete _sceneInfo; +} + void AnimationView::load() { Common::String resName(_resourceName); if (!resName.hasSuffix(".")) @@ -814,6 +832,17 @@ void AnimationView::load() { processLines(); } +void AnimationView::display() { + _vm->_palette->initPalette(); + Common::fill(&_vm->_palette->_cyclingPalette[0], &_vm->_palette->_cyclingPalette[PALETTE_SIZE], 0); + + _vm->_palette->resetGamePalette(1, 8); + _vm->_game->_scene._spriteSlots.reset(); + _vm->_game->_scene._paletteCycles.clear(); + + MenuView::display(); +} + bool AnimationView::onEvent(Common::Event &event) { // Wait for the Escape key or a mouse press if (((event.type == Common::EVENT_KEYDOWN) && (event.kbd.keycode == Common::KEYCODE_ESCAPE)) || @@ -826,39 +855,69 @@ bool AnimationView::onEvent(Common::Event &event) { } void AnimationView::doFrame() { +// Scene &scene = _vm->_game->_scene; + + // TODO: Or when current animation is finished + if (_resourceIndex == -1) { + if (++_resourceIndex == (int)_resources.size()) + scriptDone(); + else + loadNextResource(); + } +} + +void AnimationView::loadNextResource() { Scene &scene = _vm->_game->_scene; - int bgNumber = 0; + ResourceEntry &resEntry = _resources[_resourceIndex]; - // Only update state if wait period has expired - if (_previousUpdate > 0) { - if (g_system->getMillis() - _previousUpdate < 3000) { - return; - } else { - // time for an update - _previousUpdate = g_system->getMillis(); - } - } else { - _previousUpdate = g_system->getMillis(); - return; + if (resEntry._bgFlag) + _vm->_palette->resetGamePalette(1, 8); + + delete _currentAnimation; + _currentAnimation = Animation::init(_vm, &scene); + _currentAnimation->load(scene._backgroundSurface, scene._depthSurface, + resEntry._resourceName, resEntry._bgFlag ? 0x100 : 0, + nullptr, _sceneInfo); + + // If a sound driver has been specified, then load the correct one + if (!_currentAnimation->_header._soundName.empty()) { + const char *chP = strchr(_currentAnimation->_header._soundName.c_str(), '.'); + assert(chP); + + int driverNum = atoi(chP + 1); + _vm->_sound->init(driverNum); } - /* - char bgFile[10]; - strncpy(bgFile, _currentFile, 5); - bgFile[0] = bgFile[2]; - bgFile[1] = bgFile[3]; - bgFile[2] = bgFile[4]; - bgFile[3] = '\0'; - bgNumber = atoi(bgFile); - sprintf(bgFile, "rm%i.art", bgNumber); - - // Not all scenes have a background. If there is one, refresh it - if (Common::File::exists(bgFile)) { - _vm->_palette->resetGamePalette(4, 8); - SceneInfo *sceneInfo = SceneInfo::init(_vm); - sceneInfo->load(bgNumber, 0, Common::String(), 0, scene._depthSurface, - scene._backgroundSurface); + + // Handle any manual setup + if (_currentAnimation->_header._manualFlag) { + _manualFrameNumber = _currentAnimation->_header._spritesIndex; + _manualSpriteSet = _currentAnimation->getSpriteSet(_manualFrameNumber); + _hasManual = true; } - */ + + // Set the sound data for the animation + _vm->_sound->setEnabled(resEntry._soundFlag); + + Common::String dsrName = _currentAnimation->_header._dsrName; + if (!dsrName.empty()) + _vm->_audio->setSoundGroup(dsrName); + + // Initial frames scan loop + bool foundFrame = false; + for (int frameCtr = 0; frameCtr < (int)_currentAnimation->_frameEntries.size(); ++frameCtr) { + int spritesIdx = _currentAnimation->_spriteListIndexes[_manualFrameNumber]; + AnimFrameEntry &frame = _currentAnimation->_frameEntries[frameCtr]; + + if (frame._spriteSlot._spritesIndex == spritesIdx) { + _animFrameNumber = frame._frameNumber; + _manualStartFrame = _animFrameNumber; + _manualEndFrame = _manualSpriteSet->getCount() - 1; + _manualFrame2 = _manualStartFrame - 1; + break; + } + } + if (!foundFrame) + _hasManual = false; } void AnimationView::scriptDone() { @@ -896,8 +955,8 @@ void AnimationView::processLines() { resName += c; } - _resources.push_back(ResourceEntry(resName, _sfx)); - _sfx = 0; + _resources.push_back(ResourceEntry(resName, _sfx, _soundFlag, + _bgLoadFlag, _showWhiteBars)); } // Skip any spaces @@ -914,6 +973,9 @@ void AnimationView::processCommand() { // Handle the command switch (commandChar) { + case 'B': + _soundFlag = !_soundFlag; + break; case 'H': // -h[:ex] Disable EMS / XMS high memory support if (_currentLine.hasPrefix(":")) @@ -980,6 +1042,42 @@ int AnimationView::getParameter() { return result; } +void AnimationView::checkResource(const Common::String &resourceName) { + //bool hasSuffix = false; + +} + +int AnimationView::scanResourceIndex(const Common::String &resourceName) { + int foundIndex = -1; + + if (_v1) { + const char *chP = strchr(resourceName.c_str(), '\\'); + if (!chP) { + chP = strchr(resourceName.c_str(), '*'); + } + + Common::String resName = chP ? Common::String(chP + 1) : resourceName; + + if (_v2 != 3) { + assert(_resIndex.size() == 0); + } + + // Scan for the resource name + for (uint resIndex = 0; resIndex < _resIndex.size(); ++resIndex) { + ResIndexEntry &resEntry = _resIndex[resIndex]; + if (resEntry._resourceName.compareToIgnoreCase(resourceName)) { + foundIndex = resIndex; + break; + } + } + } + + if (foundIndex >= 0) { + // TODO + } + return -1; +} + } // End of namespace Nebular diff --git a/engines/mads/nebular/menu_nebular.h b/engines/mads/nebular/menu_nebular.h index 7abe3c8892..f8e84fa5b6 100644 --- a/engines/mads/nebular/menu_nebular.h +++ b/engines/mads/nebular/menu_nebular.h @@ -162,7 +162,6 @@ private: static char _resourceName[100]; bool _animating; - bool _sceneChanged; Common::Array<TextLine> _textLines; Common::Point _pan; int _panSpeed; @@ -230,15 +229,30 @@ enum ResyncMode { NEVER, ALWAYS, BEGINNING }; struct ResourceEntry { Common::String _resourceName; - int _sfx; + int _fx; + bool _soundFlag; + bool _bgFlag; + bool _showWhiteBars; ResourceEntry() {} - ResourceEntry(const Common::String &resName, int sfx) { + ResourceEntry(const Common::String &resName, int fx, bool soundFlag, + bool bgFlag, bool showWhiteBars) { _resourceName = resName; - _sfx = sfx; + _fx = fx; + _soundFlag = soundFlag; + _bgFlag = bgFlag; + _showWhiteBars = showWhiteBars; } }; +struct ResIndexEntry { + int _id; + int _v; + Common::String _resourceName; + + ResIndexEntry() {} +}; + /** * Animation cutscene view */ @@ -250,12 +264,30 @@ private: uint32 _previousUpdate; Common::String _currentLine; bool _soundDriverLoaded; - bool _showWhiteBars; bool _resetPalette; ResyncMode _resyncMode; int _sfx; + bool _soundFlag; + bool _bgLoadFlag; + bool _showWhiteBars; Common::Array<ResourceEntry> _resources; + Common::Array<ResIndexEntry> _resIndex; + int _v1; + int _v2; + int _resourceIndex; + SceneInfo *_sceneInfo; + Animation *_currentAnimation; + int _manualFrameNumber; + SpriteAsset *_manualSpriteSet; + int _manualStartFrame, _manualEndFrame; + int _manualFrame2; + bool _hasManual; + int _animFrameNumber; private: + void checkResource(const Common::String &resourceName); + + int scanResourceIndex(const Common::String &resourceName); + void load(); void processLines(); @@ -265,7 +297,11 @@ private: int getParameter(); void scriptDone(); + + void loadNextResource(); protected: + virtual void display(); + virtual void doFrame(); virtual bool onEvent(Common::Event &event); @@ -277,7 +313,7 @@ public: AnimationView(MADSEngine *vm); - virtual ~AnimationView() {} + virtual ~AnimationView(); }; } // End of namespace Nebular diff --git a/engines/mads/nebular/sound_nebular.cpp b/engines/mads/nebular/sound_nebular.cpp index 5ce362e053..c540eb4382 100644 --- a/engines/mads/nebular/sound_nebular.cpp +++ b/engines/mads/nebular/sound_nebular.cpp @@ -3141,7 +3141,7 @@ ASound9::ASound9(Audio::Mixer *mixer, FM_OPL *opl) : ASound(mixer, opl, "asound. } int ASound9::command(int commandId, int param) { - if (commandId > 60) + if (commandId > 51) return 0; _commandParam = param; diff --git a/engines/mads/phantom/game_phantom.cpp b/engines/mads/phantom/game_phantom.cpp index ba2179fcbf..0b2531ef65 100644 --- a/engines/mads/phantom/game_phantom.cpp +++ b/engines/mads/phantom/game_phantom.cpp @@ -50,11 +50,12 @@ void GamePhantom::startGame() { } void GamePhantom::initializeGlobals() { - //int count, count2; - //int bad; - _globals.reset(); - //_globals[kTalkInanimateCount] = 8; + + warning("TODO: sub_316DA()"); + + _player._facing = FACING_NORTH; + _player._turnToFacing = FACING_NORTH; /* Section #1 variables */ // TODO @@ -74,11 +75,7 @@ void GamePhantom::initializeGlobals() { /* Section #9 variables */ // TODO - _player._facing = FACING_NORTH; - _player._turnToFacing = FACING_NORTH; - - //Player::preloadSequences("RXM", 1); - //Player::preloadSequences("ROX", 1); + Player::preloadSequences("RAL", 1); } void GamePhantom::setSectionHandler() { diff --git a/engines/mads/user_interface.h b/engines/mads/user_interface.h index f251441e40..89044c9bf1 100644 --- a/engines/mads/user_interface.h +++ b/engines/mads/user_interface.h @@ -225,7 +225,7 @@ public: /** * Loads an interface from a specified resource */ - void load(const Common::String &resName); + virtual void load(const Common::String &resName); /** * Set up the interface diff --git a/engines/saga/shorten.cpp b/engines/saga/shorten.cpp index edb12a3dd9..1e1c397212 100644 --- a/engines/saga/shorten.cpp +++ b/engines/saga/shorten.cpp @@ -438,7 +438,7 @@ byte *loadShortenFromStream(Common::ReadStream &stream, int &size, int &rate, by for (i = 0; i < 64; ++i) oldValues[curChannel][i] = 0; - int arrayTerminator = MIN<int>(64, blockSize); + uint arrayTerminator = MIN<int>(64, blockSize); for (i = 0; i < arrayTerminator; ++i) oldValues[curChannel][i] = buffer[curChannel][blockSize - (i + 1)]; diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp index 7cd50e1f4c..a7922b232e 100644 --- a/engines/scumm/detection.cpp +++ b/engines/scumm/detection.cpp @@ -504,12 +504,6 @@ static void computeGameSettingsFromMD5(const Common::FSList &fslist, const GameF dr.extra = "V1 Demo"; } - // HACK: If 'Demo' occurs in the extra string, set the GF_DEMO flag, - // required by some game demos (e.g. Dig, FT and COMI). - if (dr.extra && strstr(dr.extra, "Demo")) { - dr.game.features |= GF_DEMO; - } - // HACK: Try to detect languages for translated games if (dr.language == UNK_LANG) { dr.language = detectLanguage(fslist, dr.game.id); diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h index ae334c201c..791963e237 100644 --- a/engines/scumm/detection_tables.h +++ b/engines/scumm/detection_tables.h @@ -260,13 +260,16 @@ static const GameSettings gameVariantsTable[] = { {"samnmax", "Floppy", 0, GID_SAMNMAX, 6, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM, GF_USE_KEY, UNK, GUIO1(GUIO_NOSPEECH)}, #ifdef ENABLE_SCUMM_7_8 - {"ft", 0, 0, GID_FT, 7, 0, MDT_NONE, 0, UNK, GUIO1(GUIO_NOMIDI)}, + {"ft", "", 0, GID_FT, 7, 0, MDT_NONE, 0, UNK, GUIO1(GUIO_NOMIDI)}, + {"ft", "Demo", 0, GID_FT, 7, 0, MDT_NONE, GF_DEMO, UNK, GUIO1(GUIO_NOMIDI)}, - {"dig", "", 0, GID_DIG, 7, 0, MDT_NONE, 0, UNK, GUIO1(GUIO_NOMIDI)}, + {"dig", "", 0, GID_DIG, 7, 0, MDT_NONE, 0, UNK, GUIO1(GUIO_NOMIDI)}, + {"dig", "Demo", 0, GID_DIG, 7, 0, MDT_NONE, GF_DEMO, UNK, GUIO1(GUIO_NOMIDI)}, {"dig", "Steam", "steam", GID_DIG, 7, 0, MDT_NONE, 0, UNK, GUIO1(GUIO_NOMIDI)}, - {"comi", 0, 0, GID_CMI, 8, 0, MDT_NONE, 0, Common::kPlatformWindows, GUIO2(GUIO_NOMIDI, GUIO_NOASPECT)}, -#endif + {"comi", "", 0, GID_CMI, 8, 0, MDT_NONE, 0, Common::kPlatformWindows, GUIO2(GUIO_NOMIDI, GUIO_NOASPECT)}, + {"comi", "Demo", 0, GID_CMI, 8, 0, MDT_NONE, GF_DEMO, Common::kPlatformWindows, GUIO2(GUIO_NOMIDI, GUIO_NOASPECT)}, + #endif // Humongous Entertainment Scumm Version 6 {"activity", "", 0, GID_HEGAME, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK, GUIO1(GUIO_NOLAUNCHLOAD)}, diff --git a/engines/scumm/object.cpp b/engines/scumm/object.cpp index 7919075d0b..db836467ef 100644 --- a/engines/scumm/object.cpp +++ b/engines/scumm/object.cpp @@ -1013,7 +1013,6 @@ void ScummEngine::resetRoomObject(ObjectData *od, const byte *room, const byte * od->actordir = (byte)READ_LE_UINT16(&imhd->v7.actordir); } else if (_game.version == 6) { - assert(imhd); od->obj_nr = READ_LE_UINT16(&(cdhd->v6.obj_id)); od->width = READ_LE_UINT16(&cdhd->v6.w); diff --git a/engines/sword1/sound.cpp b/engines/sword1/sound.cpp index ef4a2ee025..9140bddb65 100644 --- a/engines/sword1/sound.cpp +++ b/engines/sword1/sound.cpp @@ -126,51 +126,44 @@ void Sound::checkSpeechFileEndianness() { if (sampleSize) { uint32 size; // Compute average of difference between two consecutive samples for both BE and LE - // The way uncompressSpeech works we may get un incorrect number of identical consecutive samples - // when using the wrong endianess. To avoid biasing the result we this we skip all duplicate values. _bigEndianSpeech = false; int16 *data = uncompressSpeech(index + _cowHeaderSize, sampleSize, &size); - if (data) { - uint32 max_cpt = size > 2000 ? 2000 : size; - double le_diff_sum = 0.; - uint32 le_cpt = 0; - for (uint32 i = 1; i < size && le_cpt < max_cpt; ++i) { - if (data[i] != data[i-1]) { - le_diff_sum += fabs((double)(data[i] - data[i - 1])); - ++le_cpt; - } - } - le_diff_sum /= le_cpt; - delete[] data; - _bigEndianSpeech = true; - data = uncompressSpeech(index + _cowHeaderSize, sampleSize, &size); - if (data) { - double be_diff_sum = 0.; - uint32 be_cpt = 0; - for (uint32 i = 1; i < size && be_cpt < le_cpt; ++i) { - if (data[i] != data[i-1]) { - be_diff_sum += fabs((double)(data[i] - data[i - 1])); - ++be_cpt; - } - } - be_diff_sum /= be_cpt; - delete [] data; - // Set the big endian flag - // uncompreesSpeech gives data in little endian, so on big endian systems the heuristic is actually reversed -#ifdef SCUMM_BIG_ENDIAN - _bigEndianSpeech = (le_diff_sum < be_diff_sum); -#else - _bigEndianSpeech = (be_diff_sum < le_diff_sum); -#endif - if (_bigEndianSpeech) - debug(6, "Mac version: using big endian speech file"); - else - debug(6, "Mac version: using little endian speech file"); - debug(8, "Speech endianness heuristic: average = %f for BE (%d samples) and %f for LE (%d samples)", be_diff_sum, be_cpt, le_diff_sum, le_cpt); - } else - _bigEndianSpeech = false; + uint32 maxSamples = size > 2000 ? 2000 : size; + double le_diff = endiannessHeuristicValue(data, size, maxSamples); + delete[] data; + _bigEndianSpeech = true; + data = uncompressSpeech(index + _cowHeaderSize, sampleSize, &size); + double be_diff = endiannessHeuristicValue(data, size, maxSamples); + delete [] data; + // Set the big endian flag + _bigEndianSpeech = (be_diff < le_diff); + if (_bigEndianSpeech) + debug(6, "Mac version: using big endian speech file"); + else + debug(6, "Mac version: using little endian speech file"); + debug(8, "Speech endianness heuristic: average = %f for BE and %f for LE (%d samples)", be_diff, le_diff, maxSamples); + } +} + +double Sound::endiannessHeuristicValue(int16* data, uint32 dataSize, uint32 &maxSamples) { + if (!data) + return 50000.; // the heuristic value for the wrong endianess is about 21000 (1/3rd of the 16 bits range) + + double diff_sum = 0.; + uint32 cpt = 0; + int16 prev_value = (int16)FROM_LE_16(*((uint16 *)(data))); + for (uint32 i = 1; i < dataSize && cpt < maxSamples; ++i) { + int16 value = (int16)FROM_LE_16(*((uint16 *)(data + i))); + if (value != prev_value) { + diff_sum += fabs((double)(value - prev_value)); + ++cpt; + prev_value = value; } } + if (cpt == 0) + return 50000.; + maxSamples = cpt; + return diff_sum / cpt; } diff --git a/engines/sword1/sound.h b/engines/sword1/sound.h index 54006bd8b4..e65e797934 100644 --- a/engines/sword1/sound.h +++ b/engines/sword1/sound.h @@ -102,6 +102,7 @@ public: void engine(); void checkSpeechFileEndianness(); + double endiannessHeuristicValue(int16* data, uint32 dataSize, uint32 &maxSamples); private: uint8 _sfxVolL, _sfxVolR, _speechVolL, _speechVolR; diff --git a/engines/sword1/sword1.cpp b/engines/sword1/sword1.cpp index 08ea02f32d..1e9b7f70f4 100644 --- a/engines/sword1/sword1.cpp +++ b/engines/sword1/sword1.cpp @@ -774,6 +774,8 @@ void SwordEngine::reinitRes() { _logic->newScreen(Logic::_scriptVars[NEW_SCREEN]); _sound->newScreen(Logic::_scriptVars[NEW_SCREEN]); Logic::_scriptVars[SCREEN] = Logic::_scriptVars[NEW_SCREEN]; + _logic->engine(); + _logic->updateScreenParams(); _screen->fullRefresh(); _screen->draw(); } diff --git a/engines/sword25/kernel/persistenceservice.cpp b/engines/sword25/kernel/persistenceservice.cpp index fb83b7f941..7d68081593 100644 --- a/engines/sword25/kernel/persistenceservice.cpp +++ b/engines/sword25/kernel/persistenceservice.cpp @@ -52,7 +52,7 @@ static const uint SLOT_COUNT = 18; static const uint FILE_COPY_BUFFER_SIZE = 1024 * 10; static const char *VERSIONIDOLD = "SCUMMVM1"; static const char *VERSIONID = "SCUMMVM2"; -static const int VERSIONNUM = 2; +static const int VERSIONNUM = 3; #define MAX_SAVEGAME_SIZE 100 diff --git a/engines/sword25/util/pluto/pluto.cpp b/engines/sword25/util/pluto/pluto.cpp index fb477c1687..78b0a815e8 100644 --- a/engines/sword25/util/pluto/pluto.cpp +++ b/engines/sword25/util/pluto/pluto.cpp @@ -835,7 +835,15 @@ static void persistthread(PersistInfo *pi) #endif write_size(pi, &stackbase); write_size(pi, &stacktop); + + // ptrdiff_t changes sizes based on 32/64 bit + // Hard cast to 64 bit size if SIZE64 is defined +#ifdef SIZES64 + uint64 ptrIndex = static_cast<uint64>(L2->errfunc); + pi_write(pi, &ptrIndex, sizeof(uint64), pi->ud); +#else pi_write(pi, &L2->errfunc, sizeof(ptrdiff_t), pi->ud); +#endif //write_size(pi, (size_t *)&L2->errfunc); } @@ -944,12 +952,6 @@ static void persist(PersistInfo *pi) if(!lua_isnil(pi->L, -1)) { /* perms reftbl ... obj ref */ int zero = 0; - // FIXME: Casting a pointer to an integer data type is a bad idea we - // should really get rid of this by fixing the design of this code. - // For now casting to size_t should silence most (all?) compilers, - // since size_t is supposedly the same size as a pointer on most - // (modern) architectures. - int ref = (int)(size_t)lua_touserdata(pi->L, -1); pi_write(pi, &zero, sizeof(int), pi->ud); if (humanReadable) { snprintf(hrBuf, hrBufSize, "persist_seenobject\n"); @@ -958,7 +960,8 @@ static void persist(PersistInfo *pi) #ifdef TOTEXT printf("persist_seenobject\n"); #endif - pi_write(pi, &ref, sizeof(int), pi->ud); + int *ref = (int *)lua_touserdata(pi->L, -1); + pi_write(pi, ref, sizeof(int), pi->ud); if (humanReadable) { snprintf(hrBuf, hrBufSize, "persist_touserdata_ref %d\n", ref); hrOut(pi); @@ -1011,7 +1014,8 @@ static void persist(PersistInfo *pi) } lua_pushvalue(pi->L, -1); /* perms reftbl ... obj obj */ - lua_pushlightuserdata(pi->L, (void *)(++(pi->counter))); + int *ref = (int *)lua_newuserdata(pi->L, sizeof(int)); + *ref = ++(pi->counter); /* perms reftbl ... obj obj ref */ lua_rawset(pi->L, 2); /* perms reftbl ... obj */ @@ -1737,7 +1741,16 @@ static void unpersistthread(int ref, UnpersistInfo *upi) verify(LIF(Z,read)(&upi->zio, &L2->status, sizeof(lu_byte)) == 0); read_size(&upi->zio, &stackbase); read_size(&upi->zio, &stacktop); + +#ifdef SIZES64 + uint64 value; + verify(LIF(Z,read)(&upi->zio, &value, sizeof(uint64)) == 0); + + L2->errfunc = static_cast<ptrdiff_t>(value); +#else verify(LIF(Z,read)(&upi->zio, &L2->errfunc, sizeof(ptrdiff_t)) == 0); +#endif + //read_size(&upi->zio, (size_t *)&L2->errfunc); L2->base = L2->stack + stackbase; L2->top = L2->stack + stacktop; diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 99188c1ab6..99913d87b0 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -355,6 +355,11 @@ SceneExt::SceneExt(): Scene() { // to make inter-scene debugging easier, I'm explicitly resetting the _animationCtr // on scene start, since scene objects aren't drawn while it's non-zero R2_GLOBALS._animationCtr = 0; + + // WORKAROUND: We had a case where at some point the number of modal dialogs + // open became incorrect. So reset it on scene changes to fix the problem if + // it ever happens + R2_GLOBALS._insetUp = 0; } void SceneExt::synchronize(Serializer &s) { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index e2c22bd0b4..1490bb47c1 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -5972,29 +5972,20 @@ void Scene1337::handlePlayer1() { } } - int count = -1; - int i; - for (i = 0; i <= 3; i++) { + for (int i = 0; i <= 3; i++) { int tmpVal = isDelayCard(_gameBoardSide[1]._handCard[i]._cardId); if (tmpVal != -1) { + int victimId = -1; int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); for (int j = 0; j <= 3; j++) { - //CHECKME: tmpVal or rndVal? - // FIXME: This is probably meant to be rndVal, but not clear... - if (tmpVal < 0 || tmpVal >= ARRAYSIZE(_gameBoardSide)) - error("Scene1337::handlePlayer1() tmpVal:%d out of range 0 to %d", tmpVal, ARRAYSIZE(_gameBoardSide)-1); - - if (tmpVal != 1) { - if ((_gameBoardSide[tmpVal]._delayCard._cardId == 0) && isAttackPossible(tmpVal, _gameBoardSide[1]._handCard[i]._cardId)) - count = tmpVal; + if (rndVal != 1) { + if ((_gameBoardSide[rndVal]._delayCard._cardId == 0) && isAttackPossible(rndVal, _gameBoardSide[1]._handCard[i]._cardId)) + victimId = rndVal; } - if (count < 0 || count >= ARRAYSIZE(_gameBoardSide)) - error("Scene1337::handlePlayer1() count:%d out of range 0 to %d", count, ARRAYSIZE(_gameBoardSide)-1); - - if (count != -1) { - playDelayCard(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[count]._delayCard); + if (victimId != -1) { + playDelayCard(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[victimId]._delayCard); return; } else { rndVal--; @@ -6005,18 +5996,17 @@ void Scene1337::handlePlayer1() { } } - int j; - for (j = 0; j <= 3; j++) { + for (int j = 0; j <= 3; j++) { if (getStationCardId(_gameBoardSide[1]._handCard[j]._cardId) != -1) { - count = -1; + int victimId = -1; int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); for (int l = 0; l <= 3; l++) { if (rndVal != 1) { if ((_gameBoardSide[rndVal]._delayCard._cardId == 0) && (_gameBoardSide[1]._handCard[j]._cardId == 1)) - count = rndVal; + victimId = rndVal; } - if (count != -1) { - playDelayCard(&_gameBoardSide[1]._handCard[j], &_gameBoardSide[count]._delayCard); + if (victimId != -1) { + playDelayCard(&_gameBoardSide[1]._handCard[j], &_gameBoardSide[victimId]._delayCard); return; } else { rndVal--; diff --git a/icons/scummvm_drawer.info b/icons/scummvm_drawer.info Binary files differnew file mode 100644 index 0000000000..26f6a8633d --- /dev/null +++ b/icons/scummvm_drawer.info diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index 39deaea204..d9761e1c38 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -528,7 +528,10 @@ bool AVIDecoder::seekIntern(const Audio::Timestamp &time) { // Recreate the audio stream audioTrack->resetStream(); - uint framesNeeded = _header.initialFrames; + uint framesNeeded = _header.initialFrames; + if (framesNeeded == 0) + framesNeeded = 1; + uint startAudioChunk = 0; int startAudioSearch = (lastRecord < 0) ? (frameIndex - 1) : (lastRecord - 1); |