aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2016-03-01SCI: Use uint32 instead of unsigned intFilippos Karapetis
2016-02-29SCI3: Collect bits for managing kInfoFlagViewVisibleLars Skovlund
2016-02-28SCI32: Non-titled text bitmap implementationColin Snover
This implementation is not 100% engine accurate, but it is more accurate than what was there, and hopefully the differences between this and the engine code are merely cosmetic. The known (intentional) differences are: 1. Uses ScummVM rects inside the engine code, converting to/from SCI rects on the kernel edges and when scaling 2. Fewer side effects when performing operations that *should* have been pure from the start (like text dimension calculation). Still not side-effect-free, but at least things like colours and alignment do not need to be reset every time a measurement is taken, unlike in the actual engine. Editor controls and some other kBitmap code are temporarily disabled as a result of changes to GfxText32 until they can be updated to be engine-accurate.
2016-02-27SCI32: Update InfoFlagViewVisible from send_selectorWillem Jan Palenstijn
2016-02-27SCI32: Update InfoFlagViewVisible in VM opcodesWillem Jan Palenstijn
2016-02-26SCI: Make Freddy Pharkas intro scaling patch more genericMartin Kiewitz
So that hopefully the signature will match for all versions
2016-02-25SCI: Add script patch for Freddy Pharkas intro scalingMartin Kiewitz
Fixes game title views not shown while they are scaled in.
2016-02-24SCI: Add script patch for qfg3 combat speed problemMartin Kiewitz
Fixes bug #6247
2016-02-24SCI: Fix FM-Towns audio language selectionMartin Kiewitz
This first of all combines both detection entries and makes it possible so that the user can directly choose English or Japanese without having to add the game twice. But it also fixes the in-game option to switch between English and Japanese. Prior to this commit it was only possible to for example switch from Japanese to English once, but it was not possible to switch back without quitting the game and starting it again.
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-22SCI32: Do not clear screen when restoring for SCI32Martin Kiewitz
Fixes graphical issues, when restoring saved games. SCI32 did not clear the screen and also did not even redraw the screen on restore. It only redraws elements that have changed. Behavior verified using TSR in DOSBox (see comments). Also added comment about clearing the screen for SCI16.
2016-02-22SCI: Add hack for Pepper's Adventure in Time CDAUDIO issueMartin Kiewitz
Game checks for file CDAUDIO. Currently the kFileIO(Exists) code is working pretty slowly on at least Windows. Needs to get fixed properly by enhancing SaveFileManager(). This is primarily for branch 1.8.0.
2016-02-22SCI: Make Pharkas CD opcodes return explicit values. Document.Lars Skovlund
2016-02-22SCI32: Document purpose of 993.vocLars Skovlund
2016-02-21SCI32: Fix save patching for ScummVM dialogMartin Kiewitz
- Patch game super object for saving instead of game object - Remove re-adding planes+screen items, game::replay does that We would only have to do that for soft-failing on restore - Change debug levels of kNumLoops/kNumCels to 9 - Add special comment about -info- selector in syncWithScripts() This should now make ScummVM menu saving work properly at least in SQ6.
2016-02-21SCI32: Implement syncing planes+screen items from VM for restoreMartin Kiewitz
Fixes restoring saved games, when ScummVM dialogs are patched in Removing clearing planes+screen items as well, because the scripts actually did that, but did not clear everything. Fixes "Invalid screen item" message when entering options menu, after restoring in SQ6.
2016-02-21SCI32: Use debugC instead of debugCN for debug outputMartin Kiewitz
2016-02-21SCI32: Add debug output to Add/Update/DeleteScreenItem+PlanesMartin Kiewitz
debugflag Graphics level 6 for Add+Delete level 7 for Update
2016-02-21SCI32: Add a bit more debug info to errors + screenitemsMartin Kiewitz
2016-02-21SCI: Add script patch for Laura Bow 1 easter eggMartin Kiewitz
Fixes view-loop for PC version
2016-02-20SCI32: Change kAddLine to use kStubNull b/c signaturesMartin Kiewitz
2016-02-20SCI32: Some work on kIsOnMeMartin Kiewitz
Plenty of hotspots seem to work now Not fully done yet
2016-02-19SCI: Silence false positive warnings by MSVCFilippos Karapetis
2016-02-18SCI: Fix too-fast renderingColin Snover
Now that the renderer is loading resources without spinning CPU time on decompression every frame, it becomes apparent that kFrameOut is spammed constantly by the interpreter and needs to be throttled to ensure that transitions and fades work properly.
2016-02-18SCI: Fix some rect off-by-onesColin Snover
2016-02-18SCI: Add short-lived kSetFontRes kernel functionColin Snover
kSetFontRes didn't exist in SCI2, showed up in SCI2.1early, then was replaced with kFont subop 1 in SCI2.1mid.
2016-02-18SCI: WIP GfxText32 codeColin Snover
This at least prevents SQ6 from crashing when going into the introduction
2016-02-18SCI: Build kernel table for ScrollWindow and stub seen functionsColin Snover
Signatures in subops table are correct for length but unknown types are marked as . instead of the correct type.
2016-02-18SCI: Remove wrong comments in kernel.h and break apart logical sectionsColin Snover
2016-02-18SCI: Implement accurate renderer architecture for SCI32Colin Snover
2016-02-09SCI: Add script patch kq6 dual mode CD-AudioMartin Kiewitz
Script patch added, so that dual mode uses the same CD-Audio as regular Speech mode does during the ending (Girl in the Tower)
2016-02-09SCI: Additional info about Mother Goose patchesMartin Kiewitz
comments only
2016-02-09SCI: Script patch for Mixed Up Mother Goose SCI1Martin Kiewitz
+ Mother Goose SCI1.1 Fixes graphic issues when restoring from GMM Also make the fix ups for Mixed Up Mother Goose, Jones + PQ2 get applied all the time (debugger command not included)
2016-02-08SCI: Make kMemory behavior like original SCIMartin Kiewitz
We added 1 to the size as a workaround, but it's not really a workaround, because original SCI allocated at least 2 bytes more. They also made sure the size is even. We now do the same.
2016-02-08SCI: Zero out dynamically allocated memoryMartin Kiewitz
Fixes Mixed Up Mother Goose SCI1.1 crash when saving And could potentially fix all sorts of other issues Original SCI only zeroed out heap on init.
2016-02-08SCI: Script patch for PQ1 stuck in briefing roomMartin Kiewitz
Fixes ego getting stuck when briefing is about to start. Which is bug #5865. Also happened in original interpreter. Quite a complicated issue, details in patch comments
2016-02-08SCI: Script patch for SQ4 getting shot while ropeMartin Kiewitz
Solves Space Quest 4 "getting shot while getting rope" game bug Was an original game bug and happened in original SCI as well. Fixes bug #6076
2016-02-05SCI: Clean up the op_infoToa and op_superToa SCI3 opcodesFilippos Karapetis
2016-02-05SCI: Silence false positive warning in MSVCFilippos Karapetis
2016-02-05SCI: Blocking ScummVM auto-save slot 0 for savingMartin Kiewitz
Auto-saving is not used by SCI, but slot 0 is ScummVM "standard" for auto-saving, that's why it's not available for saving anymore. Jones still uses slot 0 for saving/restoring (because it's hardcoded and changing it would break it somewhat) Deleting + restoring is still possible of couse.
2016-02-05SCI: QfG1/2/3/4 character file detection changedMartin Kiewitz
No longer checking for .sav file suffix, but instead checking room number instead. The user is able to change the suffix, which would have resulted in a compressed character file.
2016-02-02SCI: Do not pass/use .data for mouse button typeMartin Kiewitz
Also added comment about .data field. Should be renamed.
2016-02-02SCI: Fix control/Fx keys not working anymoreMartin Kiewitz
Was effectively caused by commit adding the keyboard driver bug for SCI0/SCI01, although the bug is actually real and happens. It seems Sierra did not check the key-modifier in kMenuSelect. We do and that's why the code didn't recognize all sorts of menu keys anymore. We now isolate the lower byte before comparing. I also noticed, that Sierra passed keyboard modifiers in mouse events. This was probably done, so that owners of a 1-button mouse were able to right-click. We do this now too. Also added information about mouse modifiers in kGetEvent. Moved the mouse modifier code into getScummVMEvent(). This should fix bug #7009.
2016-01-22SCI: add user option for high resolution graphicsMartin Kiewitz
Instead of choosing Windows as platform, users can now also simply click this option for Gabriel Knight 1 + King's Quest 6 Defaults to high resolution graphics
2016-01-20SCI: Fix SCI32 kPalVary subops 1, 4, 5, 7, 8, 9 using wrong indexesColin Snover
2016-01-15SCI: Do not map SetScroll twiceFilippos Karapetis
2016-01-15SCI: Indent comment properly.Johannes Schickel
2016-01-15SCI3: Add comment re new functionLars Skovlund
2016-01-15SCI: Add an initial implementation of kStringTrimFilippos Karapetis
Thanks to lskovlun for his help
2016-01-15SCI: Use the actual segment in the segment manager for SCI3 gamesFilippos Karapetis