aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/console.cpp
AgeCommit message (Collapse)Author
2017-02-05SCI: Fix more unsafe C-string usageColin Snover
2016-12-19SCI32: Fix nitpicky output errors in SCI32 bitmap debuggingColin Snover
2016-12-19SCI32: Add segment table debugging info for SCI32 arraysColin Snover
2016-12-17SCI32: Improve SciBitmap segment table debugging outputColin Snover
2016-11-20SCI: Improve disassembly outputColin Snover
1. pushi opcode now displays decimal value and selector value (if one exists) in-line 2. lofsa, lofss, and super opcodes now display resolved object/class names 3. Opcode arguments are visually aligned
2016-11-20SCI: Add code-address breakpoints to debuggerColin Snover
2016-11-10SCI: Add missing newline in debugger outputColin Snover
2016-11-02SCI: Add reference dump to disk in debuggerColin Snover
This allows references in memory to be dumped to disk for examination by other tools. In the case of SCI32 bitmaps, data is output in 8-bit TGA format without transparency, which allows the current palette to also be examined. (The alternative would be to use 32-bit TGA to display transparency, and lose the palette, or dump to a more complicated format that supports 1-bit transparency.)
2016-10-09SCI: Fix crash when attempting to view invalid list, array, bitmap referencesColin Snover
2016-10-09SCI32: Change storage type of int16 arrays to hold reg_ts insteadColin Snover
Memory references and integers in SSCI are both 16-bit numbers, so game scripts frequently (incorrectly) use an IntArray instead of an IDArray for holding references. Since references in ScummVM are 32-bit reg_ts, IntArray entries must be large enough to hold reg_ts in order to be compatible with game scripts that store references in integer arrays. The alternative solution is to find and patch all incorrect use of IntArray across all games. This is possible, but a bit risky from a save game stability perspective, since incorrect IntArray usage is sometimes not apparent until well after the array is instantiated (like GK1's global interview array). This change invalidates existing SCI32 save games.
2016-10-09JANITORIAL: Remove trailing spacesEugene Sandulenko
2016-09-29SCI32: Fix compilation warningsColin Snover
2016-09-29SCI32: Add more debugger support for dumping SCI32 arraysColin Snover
2016-09-29SCI32: Rewrite kArray & kStringColin Snover
This change invalidates earlier SCI32 save games, which separated arrays and strings in an incompatible manner. Old save games contain invalid references to a string segment which no longer exists, and contain incompatible array structures that lack critical type information.
2016-09-29SCI: Fix typo in debugger helpColin Snover
2016-08-19SCI32: Implement kRobotColin Snover
2016-08-13SCI: Fix pseudo mouse in various SCI1 games like e.g. Larry5Martin Kiewitz
Pseudo mouse was functionality in SCI1+ games, that allowed the user to control the mouse via keyboard cursor keys. This new class only worked, when a tiny difference inside the keyboard driver happened on kMapKeyToDir calls. We previously tried to enable this behavior depending on cursor type, but this didn't work correctly (Larry 5 for example was not detected as such, but had PseudoMouse support).
2016-08-01SCI32: Add bitmap segment and remove GC option from hunk segmentColin Snover
2016-08-01SCI32: Enable optional explicit memory management of hunk entriesColin Snover
Bitmaps in ScrollWindow and Robot code are managed by the kernel and not by game scripts, although they must be able to be referenced through a reg_t. To prevent incorrect GC of bitmaps that are in use but not referenced by any game script, explicit memory management of hunk entries can be enabled.
2016-07-11SCI32: Split GfxPalette and GfxPalette32 + HunkPaletteColin Snover
2016-07-02SCI: Improve kernel subfunction loggingWillem Jan Palenstijn
ExecStack now stores the kernel call number as well as the subfunction. This allows kStub and backtraces to log the actual subfunction called. The kernel call number in ExecStack used to be stored in the debugSelector field. It now has its own field, to avoid confusion.
2016-06-21SCI32: Implement line drawing (kAddLine/kUpdateLine/kRemoveLine)Colin Snover
This line drawing code lives in a remodelled GfxPaint32 class that is totally separate from GfxPaint16.
2016-05-25SCI: Allow debugging output of all VM variables in one shotColin Snover
2016-03-25SCI: Introduce accessors for SegmentObjTable entries.Johannes Schickel
This makes code not use _table directly whenever possible. An exception is the save game code which is not easy to adapt due to design deficiencies.
2016-03-07SCI32: Add debugger command to view screen items in the visible plane listColin Snover
2016-03-01SCI: Use uint32 instead of unsigned intFilippos Karapetis
2016-02-29SCI: Fix compilation on amigaos4Lars Skovlund
2016-02-29SCI: Add vocab994 console commandLars Skovlund
This is intended for early SCI2, but should work with older SCI too, not that we need it.
2016-02-23SCI: Improve kAnimate fastcast detection, Remove EQ1 hackMartin Kiewitz
- Add "kAnimate fast cast state" to "version" debug command - Make it possible for script patcher signatures to get fully used outside of the regular script patcher - Remove previous fastcast detections and replace them with a signature heuristic - Remove object name checking, when fastcast global is set - Heuristic detects "fast cast" support incorrectly for multilingual KQ5, but it seems the game never sets the global, so it won't matter. KQ5 CD (also SCI1 late) has fastcast support. - Remove hack in GfxView::draw - Add lots of comments to ScriptPatcher class This fixes EcoQuest 1 Floppy showing the anemone on top of the message box (see bug #5170)
2016-02-21SCI: Add help for debuglevel commandWillem Jan Palenstijn
2016-02-18SCI: Implement accurate renderer architecture for SCI32Colin Snover
2016-01-07SCI32: Add initial support for palette cycling (kPalCycle) and fading (kPalFade)Colin Snover
Graphics palette code was rewritten between SCI1 and SCI2, so SCI32 palette engine code has been moved to a separate GfxPalette32 class.
2015-12-29SCI32: split up SCI2.1 into EARLY/MIDDLE/LATEMartin Kiewitz
- Detection works via signatures (couldn't find a better way) - new kString subcalls were introduced SCI2.1 LATE - kString now has signatures and is split via subcall table - kString fix, so that KQ7 doesn't crash, when starting a chapter - Sci2StringFunctionType removed, because no longer needed
2015-05-14SCI: add said-details to script_said debug cmdMartin Kiewitz
2015-05-14SCI: debug commands scro, scrs and script_saidMartin Kiewitz
implement string collecting for SCI3 implement object offset collecting for SCI0-SCI2 implement said-str offset collecting for SCI0-SCI1 add new debug command scro / script_objects add new debug command script_said string without terminating NUL now a warning the latter happens in qfg2 for amiga room 84
2015-05-14SCI: Restore xs after calling run_vm from debuggerWillem Jan Palenstijn
This fixes possible gamestate corruption when using 'send' in the debugger to call methods.
2015-05-04SCI: Scripts: identify strings + debug commandMartin Kiewitz
debug command is called "script_strings" / "scrs"
2015-03-18SCI: debugger / fix diskdump + list commandsMartin Kiewitz
diskdump: support for audio36+sync36 list: always show tuple for audio36+sync36
2015-02-14SCI: Register and save playBed option to PlaySoundWillem Jan Palenstijn
The playBed option is not handled yet, only stored. This increases the savegame format version.
2014-10-28SCI: Remove trailing whitespaceFilippos Karapetis
2014-10-28SCI: implement 8-bit color matching SCI1.1 bugMartin Kiewitz
effectively fixes bug #6455 thanks to wjp and [md5]
2014-06-01SCI: debugger diskdump is now able to dump '*'Martin Kiewitz
dumps all resources of given type
2014-05-27ALL: Introduce typesafe Debugger::registerVar functions.Johannes Schickel
This also adds a FIXME to SCI which registered an enum type as int...
2014-05-27ALL: Make Debugger command function names conform to our guidelines.Johannes Schickel
2014-05-27ALL: Rename Debugger::DCmd_Register to Debugger::registerCmd.Johannes Schickel
2014-05-27ALL: Rename Debugger::DVar_Register to Debugger::registerVar.Johannes Schickel
2014-05-27ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf.Johannes Schickel
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-12-04SCI: script patcher is now a separate classMartin Kiewitz
2013-10-30SCI: Handle objects with a dot in their nameFilippos Karapetis
An example is the object 'dominoes.opt' in Hoyle 3, script 101