aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/script_v5.cpp
AgeCommit message (Collapse)Author
2013-05-02COMMON: Change kPlatformPC to kPlatformDOSMatthew Hoops
"PC" was very ambiguous and now it matches what we show in the GUI. This also corrects sword2's platform to Windows.
2013-05-01SCUMM: Change NUM_SCRIPT_LOCALS to NUM_SCRIPT_LOCALTorbjörn Andersson
For consistency with NUM_SCRIPT_SLOT.
2013-04-30SCUMM: Use correct array size when calling initializeLocals()Torbjörn Andersson
The initializeLocals() function assumes that it can copy 25 elements when being provided an array of values. But this array was frequently a lot smaller than that. I've introduced a constant for the number of locals (though VirtualMachineState has one more for some reason), and fixed the array sizes in a number of places. CID 1003951, 1003952, 1003953, 1003955, 1003956, 1003959, 1003960, 1003961, 1003963, 100394, 1003965
2012-09-26JANITORIAL: Remove trailing whitespaces.Johannes Schickel
Powered by: git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-02-11SCUMM: Fix actor ID handling in v0Tobias Gunkel
Some object functions allow actor IDs and object IDs as parameters. They are easily distinguishable in engines > 0 as actor IDs are < _numActors and object IDs are bigger. In v0 this is not the case as there are objects with IDs like 3 and 5 (e.g. the hamster). So object ID handling was unified for v0 and the other engines by introducing objIsActor(), objToActor() and ActorToObj().
2012-02-11SCUMM: remove some NOTEs/TODOsTobias Gunkel
- o5_breakHere() seems to be still needed. For example edna does not manage to walk up the ladder if this is not enabled. - numLocalObjects seems to be big enough so that < instead of <= can be used. The original interpreter only uses the local ids 0 .. 44 whereas scummvm has _numLocalObjects set to 200.
2012-02-11SCUMM: use command stack and SentenceTab in mm c64Tobias Gunkel
- MM C64 uses command stack (SentenceTab, doSentence()) now - _cmdObject... added for current SentenceTab. The _active... variables are only used to build a sentence in the inventory but never by a script. -> many routines are not needed anymore and are removed
2011-10-04SCUMM: Apply modified patch from #3076698Tarek Soliman
This adds support for the Ultimate Talkie Edition fanpatch This is authored by the original UTE author LogicDeLuxe and Fingolfin. Modification: Removed detection entries
2011-07-13SCUMM: Fix bug #3306145: INDY3: EGA version script bugsEugene Sandulenko
Based on a patch presented in the bugreport. Fixes several bugs connected with calcualting IQ points in Amiga versions of Indy3.
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-05-25ALL: behaviour -> behaviorMatthew Hoops
2011-05-13SCUMM: Rename ResTypes->ResType, introduce ResId typedef, change code to use ↵Max Horn
both
2011-05-13SCUMM: Move class ResourceManager to its own headerMax Horn
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-04SCUMM: Extend workaround for bug #1668393 (see bug #3267665)Max Horn
2010-12-11SCUMM/FM-TOWNS: hopefully fix bug #1463434Florian Kagerer
o5_verbOps() case 9 (SO_VERB_NEW) works slightly different in SCUMM 3 FM-TOWNS (I don't know about DOS). This should fix the issue with the broken key shortcuts. Old savegames won't be fixed, though (since the broken verb states will be restored from the save file). svn-id: r54872
2010-10-18SCUMM: Simplify SO_LOAD_STRING codeMax Horn
svn-id: r53574
2010-10-18SCUMM: Add paranoia checkMax Horn
svn-id: r53573
2010-10-18SCUMM: Fix parts of bug #3087898 (SCUMM: Code analysis warnings)Max Horn
svn-id: r53567
2010-10-10LOOM PC-Engine: fix regressionFlorian Kagerer
svn-id: r53113
2010-10-05SCUMM/FM-TOWNS: disable new graphics code in DS portFlorian Kagerer
svn-id: r53033
2010-10-01SCUMM/FM-TOWNS: fix palette and other graphics issuesFlorian Kagerer
This commit should fix at least the following bugs/feature requests: #1032859, #1252088, #1055391, #1315968, #1315938, #1742106, #812891. The FM-Towns version of Scumm games use a mixed graphics mode with 2 layers (one with 32767 colors and one with 16 colors). Among other things I have added a screen output class which emulates this dual layer approach which allows specific hardware effects like enabling and disabling layers (e.g. in the voodoo priestess scene in MI1). Old savegames (saved before this update) will load, but you’ll encounter palette glitches in the verb/inventory screen, since the 16 color palette for layer 2 is not contained in your savegame. This will be true at least for version 5 games. Certain scene change actions (which require the verb/inventory part to be redrawn) might correct this (e.g. try looking at the treasure map in MI1 and closing it). Version 3 games should be okay, since they use a static text palette which is never changed and which will be reset after loading a savegame. This update requires a USE_RGB_COLORS setting for proper operation. 8 bit users will get a warning that they’ll have to expect palette glitches . Apart from that the engine in 8 bit mode should not only still work okay, but also benefit from some of the other (non palette related) improvements (e.g. bug #1032859 should be fixed even in 8 bit mode). Japanese font drawing hasn’t been improved much yet. This will be a separate task. svn-id: r52966
2010-08-20KYRA/TOWNS: fix memory leak and some cleanupFlorian Kagerer
svn-id: r52232
2010-08-18SCUMM/FM-TOWNS: start rewriting audio codeFlorian Kagerer
- Start rewriting audio code for FM-TOWNS versions of Loom, Indy3 and Monkey Island 1 using the recently added code in towns_audio.cpp (Zak should work the same way, but I can't test, since I don't own that one). - All sound types (pcm, euphony and cd audio) now support volume and balance control (e.g. try walking into/out of the kitchen and opening/closing the door in the Scumm Bar in Monkey Island 1 or walking into/out of the circus tent). - Pcm sounds now support proper loop start/end and note offsets (e.g. try out the hammer sound in the forge in LOOM for example). - some other minor improvements - The FM-Towns versions of Indy 4 and Monkey Island 2 are not affected. I don't have Monkey Island 2, but I presume that it will work like Indy 4. Adding support for these will be a separate task, since they work quite differently. svn-id: r52198
2010-08-16SCUMM: More finely differentiate opcode tables between v3, v4 and v5Max Horn
This has been tested and verified as much as I can, but has a small risk of leading to (easily fixable) regressions. svn-id: r52130
2010-08-16SCUMM: Move setResult/getResultPos to script_v5.cppMax Horn
svn-id: r52129
2010-06-15Workaround bug #3003643 (MI1EGA German: Credit text incorrect)Max Horn
svn-id: r49895
2010-03-18SCUMM: Add WORKAROUND commentMax Horn
svn-id: r48284
2010-03-16Add patch #2971126 - MM V0: Ed(na) walk fix.Travis Howell
svn-id: r48268
2009-12-04Fix bug 2908376: FOA: Won't launch in Win32Max Horn
svn-id: r46250
2009-09-11Remove excess spaces.Travis Howell
svn-id: r44029
2009-07-18add "-IQ" suffix test to SO_LOAD_STRING (same as SO_SAVE_STRING) ; fixes ↵Gregory Montoir
french version of atlantis svn-id: r42596
2009-07-18Add workaround for bug #1668393 - ZAK FM-TOWNS: Crash when entering Hostel ↵Travis Howell
from outside. svn-id: r42590
2009-07-13Add one more type of IQ-points filename (for bug #2820803)Willem Jan Palenstijn
svn-id: r42436
2009-05-31The error() and warning() functions add ! and newline automatically. (I didn'tTorbjörn Andersson
look at debug() and debugC(), since I'm really bored with this now. :-) svn-id: r41061
2009-05-29Changed SaveFileManager methods to take Common::String params (instead of ↵Max Horn
char pointers) svn-id: r41000
2009-04-21Ooops, keep that comment.Travis Howell
svn-id: r40034
2009-04-21Fix regression in SCUMM0, by calling ScummEngine::fetchScriptWord() ↵Travis Howell
directly. Since fetchScriptWordSigned(), still uses the overloaded fetchScriptWord() function. svn-id: r40033
2009-04-20SCUMM: Introduced new method ScummEngine_v5::jumpRelative; unified some v0 ↵Max Horn
and v2 opcodes svn-id: r40025
2009-04-19SCUMM: Moved o5_saveLoadGame and o5_saveLoadVars to ScummEngine_v4 (the ↵Max Horn
highest SCUMM version to implement these opcodes. Actually, our code was bugged in so far as we only ever invoked o5_saveLoadGame in V3 games, never in V4 games (but this properly never mattered ;) svn-id: r40014
2009-04-19SCUMM: o5_ifNotState and o5_ifState are actually not part of v5, only in v3 ↵Max Horn
& v4 -> renamed and moved them accordingly svn-id: r40013
2009-04-19SCUMM: ScummEngine_v5::o5_oldRoomEffect -> ScummEngine_v4::o4_oldRoomEffectMax Horn
svn-id: r40012
2009-04-19SCUMM: In v5, only opcodes 0x05 and 0x85 are mapped to o5_drawObject; in v3 ↵Max Horn
& v4, several other opcodes map to it. Capture this properly in the opcode tables svn-id: r40011
2009-04-19SCUMM: Moved ScummEngine_v2::o2_setBoxFlags to ScummEngine_v3::o3_setBoxFlagsMax Horn
svn-id: r40010
2009-04-19SCUMM: MovedScummEngine_v5:: o5_pickupObjectOld to ↵Max Horn
ScummEngine_v4::o4_pickupObject svn-id: r40009
2009-04-19SCUMM: Turned PARAM_1,2,3 into an enum; minor tweaksMax Horn
svn-id: r40008
2009-04-16SCUMM: Switched opcode tables to use Common::Functor0 (a bit like Kyra does it)Max Horn
svn-id: r39956
2009-04-09Judging by bug #2727536 (and a forum post) we should recognize "IQ-" as a validTorbjörn Andersson
prefix for the Fate of Atlantis IQ points file. (Either that, or make the comparision case-insensitive.) So let's do that. svn-id: r39904
2009-04-08Fixed misleading error message.Torbjörn Andersson
svn-id: r39903
2009-03-24Patch from bug #2710315: INDY3/FOA: bug in patch for series IQ with ScummVM GUIMax Horn
svn-id: r39677