diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | common/scummsys.h | 2 | ||||
-rw-r--r-- | engines/cge/snail.cpp | 8 | ||||
-rw-r--r-- | engines/cruise/volume.cpp | 2 | ||||
-rw-r--r-- | engines/drascula/animation.cpp | 6 | ||||
-rw-r--r-- | engines/kyra/resource.cpp | 2 | ||||
-rw-r--r-- | engines/lure/hotspots.cpp | 2 | ||||
-rw-r--r-- | engines/lure/menu.cpp | 2 | ||||
-rw-r--r-- | engines/lure/room.cpp | 2 | ||||
-rw-r--r-- | engines/pegasus/pegasus.cpp | 2 | ||||
-rw-r--r-- | engines/sci/engine/message.cpp | 26 | ||||
-rw-r--r-- | engines/sci/engine/scriptdebug.cpp | 2 | ||||
-rw-r--r-- | engines/sci/graphics/menu.cpp | 2 | ||||
-rw-r--r-- | engines/sci/graphics/portrait.cpp | 2 | ||||
-rw-r--r-- | engines/scumm/imuse/imuse.cpp | 4 | ||||
-rw-r--r-- | engines/tinsel/dw.h | 2 | ||||
-rw-r--r-- | engines/tinsel/scene.cpp | 2 | ||||
-rw-r--r-- | engines/tinsel/sound.cpp | 2 | ||||
-rw-r--r-- | engines/tinsel/timers.cpp | 2 | ||||
-rw-r--r-- | gui/themes/translations.dat | bin | 416830 -> 417353 bytes | |||
-rw-r--r-- | po/hu_HU.po | 25 | ||||
-rw-r--r-- | video/smk_decoder.cpp | 4 |
22 files changed, 68 insertions, 34 deletions
@@ -22,6 +22,7 @@ For a more comprehensive changelog of the latest experimental code, see: change it at all. - Updated MT-32 emulation code to latest munt project snapshot. - Added FluidSynth settings dialog, mainly for reverb and chorus settings. + - Fixed crash on certain Smacker movies. Cine: - Improved audio support for Amiga and AtariST versions of Future Wars. diff --git a/common/scummsys.h b/common/scummsys.h index cd8a949ce7..291de87dc9 100644 --- a/common/scummsys.h +++ b/common/scummsys.h @@ -51,7 +51,7 @@ #include <stdio.h> #include <stdarg.h> - // MSVC's vsnprintf is either non-existant (2003) or bugged since it + // MSVC's vsnprintf is either non-existent (2003) or bugged since it // does not always include a terminating NULL (2005+). To work around // that we fix up the _vsnprintf included. Note that the return value // will still not match C99's specs! diff --git a/engines/cge/snail.cpp b/engines/cge/snail.cpp index c26f68fa7b..4cd95a888e 100644 --- a/engines/cge/snail.cpp +++ b/engines/cge/snail.cpp @@ -493,7 +493,15 @@ void CGEEngine::snGame(Sprite *spr, int num) { _sprK2->step(newRandom(6)); _sprK3->step(newRandom(6)); + // check the ALT key as it's the solution of the puzzle + // the test has been restricted to some specific OSes + // in order to avoid some obvious issues (like Android, iOS, NDS, N64...) + // Not perfect, but at least better than nothing. +#if defined(WIN32) || defined(UNIX) || defined(MACOSX) || defined(MOTOEZX) || defined(LINUPY) || defined(LINUXMOTO_SDL) if (spr->_ref == 1 && _keyboard->_keyAlt) { +#else + if (spr->_ref == 1 && _gameCase2Cpt > 1) { +#endif _sprK1->step(5); _sprK2->step(5); _sprK3->step(5); diff --git a/engines/cruise/volume.cpp b/engines/cruise/volume.cpp index 4b64d4ff77..9fb6842882 100644 --- a/engines/cruise/volume.cpp +++ b/engines/cruise/volume.cpp @@ -447,7 +447,7 @@ int16 readVolCnf() { ///////////////////////////:: -// This code used to rely on "strupr", which is non existant on my system, +// This code used to rely on "strupr", which is non existent on my system, // thus I just implemented this function instead. - LordHoto // // TODO: This might be code duplication, please check this out. diff --git a/engines/drascula/animation.cpp b/engines/drascula/animation.cpp index 7009752365..52cab6cd32 100644 --- a/engines/drascula/animation.cpp +++ b/engines/drascula/animation.cpp @@ -506,7 +506,7 @@ void DrasculaEngine::animation_2_1() { trackProtagonist = 3; // The room number was originally changed here to "no_bj.alg", // which doesn't exist. In reality, this was just a hack to - // set the room number to a non-existant one, so that BJ does + // set the room number to a non-existent one, so that BJ does // not appear again when the room is refreshed after the // animation where Count Drascula abducts her. We set the // room number to -1 for the same purpose @@ -1655,8 +1655,8 @@ void DrasculaEngine::animation_9_6() { objExit = 108; enterRoom(59); // The room number was originally changed here to "nada.alg", - // which is a non-existant file. In reality, this was just a - // hack to set the room number to a non-existant one, so that + // which is a non-existent file. In reality, this was just a + // hack to set the room number to a non-existent one, so that // room sprites do not appear again when the room is refreshed. // We set the room number to -1 for the same purpose. // Also check animation_2_1(), where the same hack was used diff --git a/engines/kyra/resource.cpp b/engines/kyra/resource.cpp index adb3063344..c350c81742 100644 --- a/engines/kyra/resource.cpp +++ b/engines/kyra/resource.cpp @@ -185,7 +185,7 @@ bool Resource::loadFileList(const Common::String &filedata) { // the demo version supplied with Kyra3 does not // contain all pak files listed in filedata.fdt // so we don't do anything here if they are non - // existant. + // existent. } else if (!loadPakFile(filename)) { delete f; error("couldn't load file '%s'", filename.c_str()); diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp index ee7a185ea1..7fab4521f7 100644 --- a/engines/lure/hotspots.cpp +++ b/engines/lure/hotspots.cpp @@ -213,7 +213,7 @@ void Hotspot::setAnimation(uint16 newAnimId) { else { tempAnim = r.getAnimation(newAnimId); if (tempAnim == NULL) - error("Hotspot %xh tried to set non-existant Animation Id: %xh", _hotspotId, newAnimId); + error("Hotspot %xh tried to set non-existent Animation Id: %xh", _hotspotId, newAnimId); } setAnimation(tempAnim); diff --git a/engines/lure/menu.cpp b/engines/lure/menu.cpp index 5a0dd26cba..93deecdcd6 100644 --- a/engines/lure/menu.cpp +++ b/engines/lure/menu.cpp @@ -31,7 +31,7 @@ #include "lure/events.h" #include "lure/lure.h" -#if defined(_WIN32_WCE) || defined(__SYMBIAN32__) || defined(WEBOS) +#if defined(_WIN32_WCE) || defined(__SYMBIAN32__) || defined(WEBOS) || defined(__ANDROID__) #define LURE_CLICKABLE_MENUS #endif diff --git a/engines/lure/room.cpp b/engines/lure/room.cpp index 9a9313ece9..26d15dd025 100644 --- a/engines/lure/room.cpp +++ b/engines/lure/room.cpp @@ -549,7 +549,7 @@ void Room::setRoomNumber(uint16 newRoomNumber, bool showOverlay) { _roomData = res.getRoom(newRoomNumber); if (!_roomData) - error("Tried to change to non-existant room: %d", newRoomNumber); + error("Tried to change to non-existent room: %d", newRoomNumber); bool fadeFlag = (newRoomNumber != _roomNumber) && (_roomNumber != 0); bool leaveFlag = _roomNumber != 999; diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp index eedfaa7db3..449fa20579 100644 --- a/engines/pegasus/pegasus.cpp +++ b/engines/pegasus/pegasus.cpp @@ -616,7 +616,7 @@ void PegasusEngine::loadFromContinuePoint() { // Failure to load a continue point is fatal if (!_continuePoint) - error("Attempting to load from non-existant continue point"); + error("Attempting to load from non-existent continue point"); _continuePoint->seek(0); diff --git a/engines/sci/engine/message.cpp b/engines/sci/engine/message.cpp index a92d572d35..10f8094423 100644 --- a/engines/sci/engine/message.cpp +++ b/engines/sci/engine/message.cpp @@ -203,6 +203,32 @@ bool MessageState::getRecord(CursorStack &stack, bool recurse, MessageRecord &re while (1) { MessageTuple &t = stack.top(); + // Fix known incorrect message tuples + if (g_sci->getGameId() == GID_QFG1VGA && stack.getModule() == 322 && + t.noun == 14 && t.verb == 1 && t.cond == 19 && t.seq == 1) { + // Talking to Kaspar the shopkeeper - bug #3604944 + t.verb = 2; + } + + // Fill in known missing message tuples + if (g_sci->getGameId() == GID_SQ4 && stack.getModule() == 16 && + t.noun == 7 && t.verb == 0 && t.cond == 3 && t.seq == 1) { + // This fixes the error message shown when speech and subtitles are + // enabled simultaneously in SQ4 - the (very) long dialog when Roger + // is talking with the aliens is missing - bug #3538416. + record.tuple = t; + record.refTuple = MessageTuple(); + record.talker = 7; // Roger + // The missing text is just too big to fit in one speech bubble, and + // if it's added here manually and drawn on screen, it's painted over + // the entrance in the back where the Sequel Police enters, so it + // looks very ugly. Perhaps this is why this particular text is missing, + // as the text shown in this screen is very short (one-liners). + // Just output an empty string here instead of showing an error. + record.string = ""; + return true; + } + if (!reader->findRecord(t, record)) { // Tuple not found if (recurse && (stack.size() > 1)) { diff --git a/engines/sci/engine/scriptdebug.cpp b/engines/sci/engine/scriptdebug.cpp index b2f22aa985..277437109c 100644 --- a/engines/sci/engine/scriptdebug.cpp +++ b/engines/sci/engine/scriptdebug.cpp @@ -79,7 +79,7 @@ reg_t disassemble(EngineState *s, reg32_t pos, bool printBWTag, bool printByteco Kernel *kernel = g_sci->getKernel(); if (!mobj) { - warning("Disassembly failed: Segment %04x non-existant or not a script", pos.getSegment()); + warning("Disassembly failed: Segment %04x non-existent or not a script", pos.getSegment()); return retval; } else script_entity = (Script *)mobj; diff --git a/engines/sci/graphics/menu.cpp b/engines/sci/graphics/menu.cpp index bfecc296a2..e5b734782c 100644 --- a/engines/sci/graphics/menu.cpp +++ b/engines/sci/graphics/menu.cpp @@ -314,7 +314,7 @@ void GfxMenu::kernelSetAttribute(uint16 menuId, uint16 itemId, uint16 attributeI reg_t GfxMenu::kernelGetAttribute(uint16 menuId, uint16 itemId, uint16 attributeId) { GuiMenuItemEntry *itemEntry = findItem(menuId, itemId); if (!itemEntry) - error("Tried to getAttribute() on non-existant menu-item %d:%d", menuId, itemId); + error("Tried to getAttribute() on non-existent menu-item %d:%d", menuId, itemId); switch (attributeId) { case SCI_MENU_ATTRIBUTE_ENABLED: if (itemEntry->enabled) diff --git a/engines/sci/graphics/portrait.cpp b/engines/sci/graphics/portrait.cpp index 8cd8cdb033..d5227126e2 100644 --- a/engines/sci/graphics/portrait.cpp +++ b/engines/sci/graphics/portrait.cpp @@ -193,7 +193,7 @@ void Portrait::doit(Common::Point position, uint16 resourceId, uint16 noun, uint drawBitmap(syncCue); bitsShow(); } else { - warning("kPortrait: sync information tried to draw non-existant %d", syncCue); + warning("kPortrait: sync information tried to draw non-existent %d", syncCue); } } } diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp index b69ce552bc..a875702383 100644 --- a/engines/scumm/imuse/imuse.cpp +++ b/engines/scumm/imuse/imuse.cpp @@ -1741,10 +1741,10 @@ void IMuseInternal::copyGlobalInstrument(byte slot, Instrument *dest) { // In case we have an valid instrument set up, copy it to the part. _global_instruments[slot].copy_to(dest); } else if (_pcSpeaker) { - debug(0, "Trying to use non-existant global PC Speaker instrument %d", slot); + debug(0, "Trying to use non-existent global PC Speaker instrument %d", slot); dest->pcspk(defaultInstr); } else { - debug(0, "Trying to use non-existant global AdLib instrument %d", slot); + debug(0, "Trying to use non-existent global AdLib instrument %d", slot); dest->adlib(defaultInstr); } } diff --git a/engines/tinsel/dw.h b/engines/tinsel/dw.h index 21f6db946e..34f05ab8c2 100644 --- a/engines/tinsel/dw.h +++ b/engines/tinsel/dw.h @@ -91,7 +91,7 @@ typedef int HPOLYGON; #define MAX_SAVED_ALIVES 512 // Saves actors'lives #define MAX_SAVED_ACTOR_Z 512 // Saves actors' Z-ness -// Legal non-existant entrance number for LoadScene() +// Legal non-existent entrance number for LoadScene() #define NO_ENTRY_NUM (-3458) // Magic unlikely number diff --git a/engines/tinsel/scene.cpp b/engines/tinsel/scene.cpp index 9181f85afb..b652e394a0 100644 --- a/engines/tinsel/scene.cpp +++ b/engines/tinsel/scene.cpp @@ -286,7 +286,7 @@ static void LoadScene(SCNHANDLE scene, int entry) { } if (i == ss->numEntrance) - error("Non-existant scene entry number"); + error("Non-existent scene entry number"); if (ss->hSceneScript) { init.event = STARTUP; diff --git a/engines/tinsel/sound.cpp b/engines/tinsel/sound.cpp index 03aa3767c4..cea4971769 100644 --- a/engines/tinsel/sound.cpp +++ b/engines/tinsel/sound.cpp @@ -289,7 +289,7 @@ bool SoundManager::playSample(int id, int sub, bool bLooped, int x, int y, int p uint32 dwSampleIndex = _sampleIndex[id]; if (dwSampleIndex == 0) { - warning("Tinsel2 playSample, non-existant sample %d", id); + warning("Tinsel2 playSample, non-existent sample %d", id); return false; } diff --git a/engines/tinsel/timers.cpp b/engines/tinsel/timers.cpp index d3a7446565..36986ccb47 100644 --- a/engines/tinsel/timers.cpp +++ b/engines/tinsel/timers.cpp @@ -106,7 +106,7 @@ static TIMER *findTimer(int num) { */ static TIMER *allocateTimer(int num) { assert(num); // zero is not allowed as a timer number - assert(!findTimer(num)); // Allocating already existant timer + assert(!findTimer(num)); // Allocating already existent timer for (int i = 0; i < MAX_TIMERS; i++) { if (!g_timers[i].tno) { diff --git a/gui/themes/translations.dat b/gui/themes/translations.dat Binary files differindex 07c3b3f3a2..3dc7ef7e2d 100644 --- a/gui/themes/translations.dat +++ b/gui/themes/translations.dat diff --git a/po/hu_HU.po b/po/hu_HU.po index e02882d677..abf47854e0 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: ScummVM 1.3.0svn\n" "Report-Msgid-Bugs-To: scummvm-devel@lists.sf.net\n" "POT-Creation-Date: 2013-02-07 23:11+0000\n" -"PO-Revision-Date: 2013-02-03 09:21+0100\n" +"PO-Revision-Date: 2013-02-11 09:27+0100\n" "Last-Translator: George Kormendi <grubycza@hotmail.com>\n" "Language-Team: Hungarian\n" "Language: Magyar\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SourceCharset: iso-8859-1\n" -"X-Generator: Poedit 1.5.4\n" +"X-Generator: Poedit 1.5.5\n" #: gui/about.cpp:93 #, c-format @@ -2440,44 +2440,43 @@ msgstr "" #: engines/pegasus/pegasus.cpp:675 msgid "Invalid save file name" -msgstr "" +msgstr "Érvénytelen mentés fájlnév" #: engines/pegasus/pegasus.cpp:2410 msgid "Up/Zoom In/Move Forward/Open Doors" -msgstr "" +msgstr "Fel/Nagyítás/Előre mozgás/Ajtónyitás" #: engines/pegasus/pegasus.cpp:2411 -#, fuzzy msgid "Down/Zoom Out" -msgstr "Nagyítás" +msgstr "Le/Zoom Ki" #: engines/pegasus/pegasus.cpp:2414 msgid "Display/Hide Inventory Tray" -msgstr "" +msgstr "Tárgylista tálca Képre/Elrejt" #: engines/pegasus/pegasus.cpp:2415 msgid "Display/Hide Biochip Tray" -msgstr "" +msgstr "Biochip tálca Képre/Elrejt" #: engines/pegasus/pegasus.cpp:2416 msgid "Action/Select" -msgstr "" +msgstr "Akció/Választ" #: engines/pegasus/pegasus.cpp:2417 msgid "Toggle Center Data Display" -msgstr "" +msgstr "Adatképernyő kapcsoló" #: engines/pegasus/pegasus.cpp:2418 msgid "Display/Hide Info Screen" -msgstr "" +msgstr "Infóképernyő Képre/Elrejt" #: engines/pegasus/pegasus.cpp:2419 msgid "Display/Hide Pause Menu" -msgstr "" +msgstr "Szünet menü Képre/Elrejt" #: engines/pegasus/pegasus.cpp:2420 msgid "???" -msgstr "" +msgstr "???" #: audio/fmopl.cpp:49 msgid "MAME OPL emulator" diff --git a/video/smk_decoder.cpp b/video/smk_decoder.cpp index c49791100d..4e18268e72 100644 --- a/video/smk_decoder.cpp +++ b/video/smk_decoder.cpp @@ -119,7 +119,7 @@ uint16 SmallHuffmanTree::decodeTree(uint32 prefix, int length) { } uint16 SmallHuffmanTree::getCode(Common::BitStream &bs) { - byte peek = bs.peekBits(8); + byte peek = bs.peekBits(MIN<uint32>(bs.size() - bs.pos(), 8)); uint16 *p = &_tree[_prefixtree[peek]]; bs.skip(_prefixlength[peek]); @@ -257,7 +257,7 @@ uint32 BigHuffmanTree::decodeTree(uint32 prefix, int length) { } uint32 BigHuffmanTree::getCode(Common::BitStream &bs) { - byte peek = bs.peekBits(8); + byte peek = bs.peekBits(MIN<uint32>(bs.size() - bs.pos(), 8)); uint32 *p = &_tree[_prefixtree[peek]]; bs.skip(_prefixlength[peek]); |