Commit Graph

6099 Commits

Author SHA1 Message Date
Filippos Karapetis
045613af95 SCI: Shuffle the kernel functions inside kfile.cpp
This puts them in the order that they are defined in the kernel tables
2012-06-13 12:55:07 +03:00
Filippos Karapetis
93024c073b SCI: Handle the torindebug config setting for Torin's Passage French
Thanks to LePhilousophe for testing and providing a patch
2012-06-13 12:27:02 +03:00
Filippos Karapetis
e2613d2242 SCI: Add a workaround for the French version of Torin's Passage
Thanks to LePhilousophe for playing and providing the workaround
2012-06-13 12:27:00 +03:00
Filippos Karapetis
694f0f534a SCI: Only include kSave_subops if ENABLE_SCI32 is defined 2012-06-13 12:26:58 +03:00
Filippos Karapetis
098f162ecc SCI: Use the later SCI file functions for the SCI0 ones
They are essentially the same (with the exception of the return values),
so unifying them reduces code duplication
2012-06-13 12:26:57 +03:00
Filippos Karapetis
944a774e6a SCI: Change kSave() to be a kernel function with subops 2012-06-13 12:26:55 +03:00
Filippos Karapetis
5a17ea0585 SCI: Move all file-related functions in file.*
This way, there is a clear separation of the actual SCI kernel file
functions and the file classes and wrappers of ScummVM
2012-06-13 12:26:53 +03:00
Filippos Karapetis
a209359a67 SCI: Reorder the file kernel functions a bit 2012-06-13 12:26:51 +03:00
Filippos Karapetis
aeac51d726 SCI: Implement the file operations needed for the save dialog in Phantasmagoria
Phantasmagoria's scripts keep polling for the existence of the savegame
index file and request to read and write it using the same parameters
when opening it. The index file is closed and reopened for every save
slot, which is slow and can be much slower on non-desktop devices.
Also, the game scripts request seeking in writable streams and request
to expand the existing index file.

To provide this functionality and to reduce constant slow file opening
and closing, this virtual class has been introduced
2012-06-13 12:26:49 +03:00
Filippos Karapetis
f76c71d968 SCI: Add debug code to automatically skip robot videos 2012-06-13 12:26:48 +03:00
Matthew Hoops
ef8239df48 SCI: Fix comment in kString(at) 2012-06-11 20:10:49 -04:00
Filippos Karapetis
ea06210b92 SCI: Add support for variable selectors in kListFirstTrue / kListAllTrue
This is used by Torin's Passage (e.g. when trying to open the menu).
Based on a slightly modified patch by LePhilousophe
2012-06-11 21:17:21 +03:00
Filippos Karapetis
15306bc554 SCI: Return the default value for unknown configuration settings
Based on a patch by LePhilousophe
2012-06-11 21:17:19 +03:00
Filippos Karapetis
3fde390e00 SCI: Added another French version of Torin's Passage
Thanks to LePhilousophe for providing the file details.
Also fixed all of the detection entries for Torin's Passage
2012-06-11 21:17:17 +03:00
Filippos Karapetis
b812ed50c8 SCI: Bugfix for negative numbers in kString(at)
Fixes one of the bugs in the savegame selection screen in Phantasmagoria
2012-06-11 11:54:11 +03:00
Filippos Karapetis
0ccfd614aa SCI: Add more verbose debug output for DoAudio in SCI2.1 2012-06-11 11:54:09 +03:00
Johannes Schickel
49fafb48a7 GUI: Refactor default savegame description creation.
Formerly the GMM, AGI and SCI duplicated the logic for USE_SAVEGAME_TIMESTAMP.
Now I added a method to SaveLoadChooser instead, which takes care of this. This
might not be the best placement of such a functionality, thus I added a TODO
which talks about moving it to a better place.
2012-06-10 05:04:59 +02:00
Johannes Schickel
7c5cf1b400 GUI: Add helper to SaveLoadChooser, which uses the currently active target.
This reduces the code duplication in all client code, which formerly duplicated
the querying of the plugin, game id etc. and now simply calls the newly added
method runModalWithCurrentTarget() on a SaveLoadChooser object.
2012-06-10 04:53:17 +02:00
Johannes Schickel
15046a7529 GUI: Get rid of SaveLoadChooser::setSaveMode.
We already pass the title and process button name to the constructor of
SaveLoadChooser and then do not offer any way of changing it, thus changing
the edit mode of the chooser is kind of pointless and was never actually used.
Instead we pass the mode on SaveLoadChooser construction now.
2012-06-10 04:19:45 +02:00
Filippos Karapetis
ca3ea849d8 SCI: Update information on kGetSierraProfileInt
Thanks to LePhilousophe for his feedback and observations on this
2012-06-09 16:29:14 +03:00
Filippos Karapetis
dc11d223cd SCI: Initial implementation of AddLine, UpdateLine, DeleteLine 2012-06-09 15:36:36 +03:00
Filippos Karapetis
66af2cf1d7 SCI: Handle translucent text planes
Fixes the incorrect flood fill in the Rada Drums screen in GK1
2012-06-09 12:13:48 +03:00
Filippos Karapetis
a643981a38 SCI: Handle resource ID -1 when setting the palVary resource
Fixes several wrong colors in SQ6
2012-06-08 11:57:43 +03:00
Willem Jan Palenstijn
18dd5e5128 SCI: Fix mouse up events
Regression from 906f024831.
Fixes bug #3533069.
2012-06-08 08:31:06 +02:00
Filippos Karapetis
de3f6a19ed SCI: Initial implementation of kScrollWindow, used in some SCI21 games
This is used in LSL6 hires and SQ6. This initial implementation is hackish
and only works in SQ6 (nothing is shown in LSL6)
2012-06-07 11:27:59 +03:00
Lars Skovlund
c1dd3d5c29 SCI32: Implement GetConfig("language") 2012-06-02 18:50:46 +02:00
Lars Skovlund
403b646c13 SCI32: Case-insensitive configuration getters 2012-05-30 18:43:39 +02:00
Matthew Hoops
10f7e805c2 VIDEO: Add volume/balance control to VideoDecoder 2012-05-28 14:00:16 -04:00
Filippos Karapetis
e77fc29101 SCI: Add a TODO in kFileIOReadRaw 2012-05-26 19:06:54 +03:00
Filippos Karapetis
f15582b190 SCI: Map another missing kFileIO call
This is used to change directories in the save/load dialog (unused by us)
2012-05-26 16:42:38 +03:00
Filippos Karapetis
5af1ccbac6 SCI: Implement kGetConfig and kGetSierraProfileInt
This fixes the sluggish game speed in Phantasmagoria (DOS/Windows)
2012-05-26 16:41:11 +03:00
Filippos Karapetis
b4152bd7eb SCI: Add some missing game-specific options 2012-05-26 16:32:37 +03:00
Filippos Karapetis
79926b305c SCI: Bugfix for kFileIOReadRaw
Avoid overwriting the target buffer with junk when no data has been read
2012-05-26 16:23:03 +03:00
Filippos Karapetis
beef27fc10 SCI: Map the rarely used VibrateMouse kernel function to be an empty call
This is a function used to implement vibration in the floppy version of
QFG4 for exotic force feedback mice, such as the Logitech Cyberman
2012-05-24 01:44:25 +03:00
Filippos Karapetis
a1554b9ddd SCI: Fix the detection of the NRS patch for QFG3 2012-05-22 10:50:40 +03:00
Filippos Karapetis
5a8a28bb22 SCI: Add a workaround for a hack used in the NRS script patches for QFG3
The patched script 33 in the NRS patch attempts to perform kAbs() on an
object. Return a dummy value instead. Fixes bugs #3528416 and #3528542
2012-05-22 10:50:39 +03:00
Matthew Hoops
92b907e856 SCI: Silence unused variable warnings 2012-05-21 00:07:28 -04:00
Matthew Hoops
a07840931a SCI: Properly alphabetize the SCI32 objects 2012-05-21 00:06:42 -04:00
Filippos Karapetis
6cda15ba8e SCI: Added two new debug commands, plane_list and plane_items
These can be used to debug drawn items in SCI32
2012-05-21 01:30:10 +03:00
Filippos Karapetis
b5eac1b35b SCI: Fix case of the SciOpcodes enum 2012-05-20 21:35:27 +03:00
Filippos Karapetis
6fb9511c93 SCI: Remove the hackish (and wrong) SCI32 fade code 2012-05-20 20:26:45 +03:00
Filippos Karapetis
f8c24b5d88 SCI: Split the SCI32 graphics kernel functions in a separate file 2012-05-20 20:16:15 +03:00
Filippos Karapetis
fceeca2666 SCI: Change sci_opcodes to CamelCase 2012-05-20 20:16:13 +03:00
Filippos Karapetis
6f9e49faeb SCI: Add another workaround for the map scene in TMM
Thanks to TMM for details on reproducing this
2012-05-20 20:16:11 +03:00
Filippos Karapetis
c64a69c363 SCI: Resolve some resource related FIXMEs
These were introduced in 4f6d42d.
The odd comment dates back to FreeSCI, as far as our history goes, and
seems to be a leftover from an old refactoring during FreeSCI's history
2012-05-15 03:05:38 +03:00
Filippos Karapetis
c3f0a426fc SCI: kMakeSaveFileName is actually using virtual savegame IDs 2012-05-14 11:16:11 +03:00
Filippos Karapetis
6b38731d39 SCI: Implement savegame deletion functionality in SCI32
This is based on two kernel functions, kMakeSaveCatName and
kMakeSaveFileName
2012-05-14 11:04:58 +03:00
Filippos Karapetis
398d0ffcef SCI: Check for object visibility, if an object defines it
Fixes the inventory in GK1
2012-05-14 02:30:15 +03:00
Willem Jan Palenstijn
4f6d42d77b SCI: Add a few FIXMEs 2012-05-13 16:23:15 +02:00
Filippos Karapetis
c424c22f19 SCI: Fix bug #3040625 - "SCI: ECOQUEST French/German: Speech balloon graphic glitch"
This bug is caused by the fact that the sprites in that scene and the
speech bubble share the same priority, so we compensate for that with a
workaround
2012-05-11 12:54:06 +03:00
Filippos Karapetis
e41e412c9e SCI: Fix for bug #3522046 "Detection of SQ4CD as Windows breaks Music"
Fall back to the DOS soundtracks in Windows CD versions if the user picks
a non-General MIDI music device, as the Windows tracks only contain MIDI
music
2012-04-29 20:45:16 +03:00
Filippos Karapetis
24e57808aa SCI: Add a hack to fix the cursor colors in Longbow (bug #3489101) 2012-04-29 20:45:14 +03:00
Filippos Karapetis
ad248c9b0b SCI: Add the French floppy version of SQ4 (bug #3515247) 2012-04-29 20:45:13 +03:00
Johannes Schickel
56e8268073 SCI: Do not cast away const qualifier. 2012-04-05 00:40:25 +02:00
Filippos Karapetis
793dcda650 SCI: Bugfix for the GetAngle workarounds
Return a fake value instead of leaving random values in the accumulator
2012-04-04 07:41:44 +03:00
D G Turner
639c54a306 SCI: Add workaround for SQ1SCI to fix engine abort in bug #3513765.
This occurs while Roger is trying to move around the Pilot Droid in
Ulence Flats.
2012-04-01 01:50:08 +01:00
Filippos Karapetis
95fb73bcc5 SCI: Change the fix for the SQ1 PAvoider call to apply in all rooms again
This bad call can be made in all rooms in Ulence Flats, after getting the
Pilot Droid. Properly fixes script bug #3513207
2012-04-01 01:32:03 +03:00
Filippos Karapetis
6a49d3eadd ENGINES: Return all available custom GUI options if no target is specified
This is used to set default settings for all custom game options when an
engine starts
2012-03-31 13:55:03 +03:00
Filippos Karapetis
7f9c63239b SCI: Make sure that the disable_dithering key exists 2012-03-31 05:54:30 +03:00
Filippos Karapetis
21e8f2f441 SCI: Fix workaround for bug #3513207
The associated call contains too few parameters, thus it shouldn't be made
at all
2012-03-31 05:53:29 +03:00
D G Turner
5bbfd008b6 SCI: Minor formatting fix to workarounds table. 2012-03-31 02:25:20 +01:00
D G Turner
834e9184e5 SCI: Add workaround for SQ1SCI to fix engine abort in bug #3513207.
This occurs while Roger is trying to move around the Pilot Droid in
various narrow cases.
2012-03-31 01:39:03 +01:00
Eugene Sandulenko
fe414c862c Merge pull request #216 from bluegr/gui_undither_move
GUI: Change the undithering checkbox to be an engine-specific option
2012-03-25 11:39:24 -07:00
Filippos Karapetis
d801186185 SCI: Fix cursor coordinates for SCI01. Fixes a crash in KQ1 (bug #3503932) 2012-03-25 19:22:31 +03:00
Filippos Karapetis
346c1fe461 GUI: Change the undithering checkbox to be an engine-specific option 2012-03-25 18:51:23 +03:00
Filippos Karapetis
1938d95c4e SCI: Rename the sci_originalsavedload option to originalsaveload
This changes its naming to be like the rest of the game options
2012-03-25 17:48:38 +03:00
Filippos Karapetis
536a7e407f SCI: Hook up the digital SFX and CD audio options
The relevant code wasn't added in the newer commits - this was an
oversight from my part
2012-03-25 16:40:49 +03:00
Eugene Sandulenko
9b2471aeee Merge pull request #211 from lordhoto/game-gui-options-v2
GUI: Game gui options
2012-03-25 01:38:46 -07:00
Matthew Hoops
4516b5ea24 GRAPHICS: Convert PictDecoder to the ImageDecoder API 2012-03-20 01:06:48 +01:00
Filippos Karapetis
96f132994f SCI: Add per-game GUI option support. 2012-03-19 21:04:29 +01:00
Christoph Mallon
75efdd2d84 JANITORIAL: Replace (x ? false : true) by !(x). 2012-03-13 15:43:36 +01:00
D G Turner
d58c5133f4 SCI: Add detection entry for KQ6 French DOS Floppy.
See bug #3503425.
2012-03-13 13:20:44 +00:00
Matthew Hoops
b71dffafbe SCI: Fix GK1 Mac text positioning
A regression from the text bitmap code addition
2012-03-08 10:07:58 -05:00
Matthew Hoops
fe0c5c0e97 SCI: Fix KQ6 Mac movies with resource fork names 2012-03-08 08:04:54 -05:00
Matthew Hoops
30e7a0f001 SCI: Fix SCI1.1+ Mac games with resource fork container names 2012-03-08 08:02:58 -05:00
Filippos Karapetis
7e4c5dce4a SCI: Add a new configuration option for SQ4 CD, "silver_cursors"
This allows the user to choose the alternate set of silver mouse cursors
that is available in the game resources of the game, instead of the
original golden ones
2012-03-07 23:20:50 +02:00
Matthew Hoops
865c54c125 SCI: Fix GK1 demo sounds
This is a regression from 9fd66deb43 and, despite the commit message, was *not* fixed by 1736345906
2012-03-05 12:22:13 -05:00
Filippos Karapetis
170f9f7040 Revert "SCI: Do not set _singleId in SciMetaEngine"
This reverts commit 8248944f1e.
2012-02-28 11:08:46 +02:00
Filippos Karapetis
8248944f1e SCI: Do not set _singleId in SciMetaEngine
This allows the engine to set the correct game ID to each entry. With
_singleId set, all the IDs in the game entries are set to "sci"
2012-02-28 10:38:44 +02:00
Willem Jan Palenstijn
9ffe3e11d9 Merge pull request #182 from fingolfin/forbid-ctype
ALL: Avoid using is* macros from ctype.h
2012-02-21 11:33:32 -08:00
Max Horn
4f8665fc83 COMMON: Move isFoo functions to namespace Common, add doxygen comments 2012-02-20 16:18:27 +01:00
Filippos Karapetis
c87657f066 SCI: Added some sanity checks by digitall
- Limit the LB1 cursor workaround to LB1 only (so that fanmade games
aren't affected)
- Error our when bad cursor hotspots are found
2012-02-17 21:54:50 +02:00
Filippos Karapetis
b21f956790 SCI: Fix and cleanup the monochrome cursor code
This makes the code like FreeSCI again, which is the correct way to fix
bug #3487088.
2012-02-17 21:09:59 +02:00
Filippos Karapetis
c48ad37244 SCI: Fix bug #3487088 - "SCI: LB1: Missing Wait cursor" 2012-02-17 10:53:42 +02:00
Tarek Soliman
a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Max Horn
658080deed ALL: Avoid using is* macros from ctype.h
On some systems, passing signed chars to macros like isspace() etc. lead
to a runtime error. Hence, mark these macros as forbidden by default,
and introduce otherwise equivalent alternatives for them.
2012-02-15 16:51:37 +01:00
Filippos Karapetis
7da29858e7 SCI: Fix the order of diagonal roll transitions in the old lookup table
This fixes several inverted transitions (like in SQ3, ICEMAN, Hoyle 1 etc) - bug #3485194
2012-02-13 12:06:35 +02:00
Filippos Karapetis
fbb51fcd88 SCI: Fix bug #3487092: "SCI: LB1: Magnifying glass cursor is grey" 2012-02-13 04:03:05 +02:00
Willem Jan Palenstijn
15bbe3bff1 SCI: Expand adjustGraphColor to work for older EGA games too
See bug #3486899.
2012-02-12 13:32:22 +01:00
Tarek Soliman
edc5249772 JANITORIAL: Fix template definition whitespace 2012-02-10 21:17:27 -06:00
Johannes Schickel
fa401a2d3d SCI: Remove unnecessary break after return statement. 2012-01-29 16:34:41 +01:00
Filippos Karapetis
5bb473df88 SCI: Update a workaround for the demo of QFG4 to make it work again 2012-01-16 19:19:09 +02:00
Willem Jan Palenstijn
c60394eb3f SCI: Remove outdated comment 2012-01-16 16:07:48 +01:00
Filippos Karapetis
099b2e9249 SCI: Properly handle negative coordinates in drawTextBitmap()
This fixes occasional crashes when going to the map in GK1. Many thanks
to digitall for finding this through Valgrind
2012-01-15 23:00:23 +02:00
Filippos Karapetis
7560007ba9 SCI: Simplify kString(Dup) using the overloaded = operator
Thanks to wjp for his suggestion
2012-01-15 21:42:09 +02:00
Filippos Karapetis
c69ac88be2 SCI: Ignore an invalid export in a script in the demo of RAMA 2012-01-15 21:10:18 +02:00
Filippos Karapetis
cbe7527805 SCI: Use fromString() in kString(Dup) to simplify code 2012-01-15 21:05:10 +02:00
Filippos Karapetis
aff92ea4cd SCI: Zero-terminate strings in SciString::fromString() 2012-01-15 21:02:02 +02:00
Filippos Karapetis
96aa86a60b SCI: Remove wrong script-to-array copying code in kArray 2012-01-15 20:58:14 +02:00
Filippos Karapetis
34b297748c SCI: Fix a nasty bug in kString(Dup)
The rawString variable is no longer pointing to invalidated data. This
fixes cases where strings are manipulated by game scripts, such as the
graveyard and rada drum puzzles in GK1
2012-01-15 20:11:30 +02:00
Willem Jan Palenstijn
56fb56936e SCI: Clean up some memory management and loops 2012-01-15 18:25:00 +01:00
Filippos Karapetis
f2c163a569 SCI: Plug a leak in ResourceManager::processWavePatch()
Many thanks to digitall for finding this one
2012-01-15 19:02:19 +02:00
Filippos Karapetis
0f39a43675 SCI: Plug loads of memory leaks in the SCI32 graphics code
Many thanks to digitall for finding these
2012-01-15 18:35:33 +02:00
Filippos Karapetis
780b2eff16 SCI: Plug a leak in ResourceManager::detectSciVersion()
Many thanks to digitall for finding this one
2012-01-15 18:34:41 +02:00
Filippos Karapetis
ce0061d9e0 SCI: Add a script patch to fix a script bug in GK1 floppy
This bug leads to a crash after Gabriel interrogates people, and is
caused by incorrect ordering in two checks, which was fixed in the CD
version
2012-01-14 21:02:44 +02:00
Filippos Karapetis
bf6c42d816 SCI: Don't clip the plane rectangle in kernelDeletePlane()
The actual cause for this clipping has been fixed
2012-01-14 16:37:07 +02:00
Filippos Karapetis
20bcb0545e SCI: When deleting a plane, also delete the items in it
This fixes a crash in GK1 day 2, after using the thermostat outside
Mosely's office
2012-01-14 14:22:54 +02:00
Filippos Karapetis
4594982ce3 SCI: Fix bug in fadeIn()/fadeOut()
This wasn't added in 4742b4d728)
2012-01-14 00:21:55 +02:00
Filippos Karapetis
29d129747d SCI: Some more work on kSetShowStyle. Silenced some chatty warnings in GK1 2012-01-13 22:55:10 +02:00
Filippos Karapetis
df0528e786 SCI: Blacklist more unused/debug SCI2.1 kernel functions 2012-01-13 22:55:09 +02:00
Filippos Karapetis
22e00a710f SCI: Fixed some graphics corruption (black boxes) in the dialogs of GK1 2012-01-13 02:38:20 +02:00
Strangerke
2858328e28 JANITORIAL: Remove SVN tags 2012-01-01 11:07:48 +01:00
Filippos Karapetis
3752396aef SCI: Always prefer digital sound effects to prevent confusion to users
This toggle will be enabled again when a more user-friendly GUI option
is possible
2011-12-28 13:21:19 +02:00
Filippos Karapetis
8496b5c4d8 SCI: Rename _bMultiMidi to _useDigitalSFX and only initialize it inside SoundCommandParser 2011-12-28 13:14:55 +02:00
Matthew Hoops
509cc5f4c4 SCI: Add preliminary support for SCI1 early Amiga sound patches
As used by KQ1 and MUMG. Sound still seems a bit off, but it's close.
2011-12-08 20:11:33 -05:00
Willem Jan Palenstijn
0192d2f2de SCI: Fix restarting SCI engine with different SCI version 2011-11-29 18:34:34 +01:00
Willem Jan Palenstijn
097b4e5c7a SCI: Add RtL FIXME 2011-11-29 16:11:33 +01:00
Filippos Karapetis
381e92a576 SCI: Added handling of invalid jump offsets (e.g. QFG2, script 260) 2011-11-28 22:36:58 +02:00
Filippos Karapetis
38dc6640dc SCI: Reset parameters for all channels used by a song when it starts 2011-11-20 20:59:31 +02:00
Filippos Karapetis
b400e142af SCI: Break the huge kernelFrameOut function into several smaller ones
Also, prefix more class variables with underscores
2011-11-17 22:09:17 +02:00
Filippos Karapetis
10e14367ec SCI: Prefix class variables with underscores 2011-11-17 22:09:16 +02:00
Alyssa Milburn
8b8f70c3a5 SCI: Add newline back to get rid of the warning. 2011-11-17 16:52:00 +01:00
Filippos Karapetis
ae54885379 SCI: Updated information regarding bug #3439240 2011-11-17 11:16:10 +02:00
Filippos Karapetis
5fc9831577 SCI: Fixed bug #3439240 - "QFG1VGA: Game Crashes While Sleeping at Erana's Peace" 2011-11-17 11:00:09 +02:00
Matthew Hoops
ba798e250d SCI: Add support for slater mac 2011-11-16 17:56:12 -05:00
Strangerke
bab4b6f729 LAUNCHER: Introduce GUIO0() in order to replace GUIO1(GUIO_NONE) 2011-11-16 22:38:58 +01:00
Willem Jan Palenstijn
71566a4307 SCI: Fix style 2011-11-11 00:16:57 +01:00
Willem Jan Palenstijn
8c57e4bf43 SCI: Fix const cast 2011-11-11 00:07:27 +01:00
Filippos Karapetis
9c9ffc45d7 SCI: Do not add 1 pixel to rect dimensions in SCI32 2011-11-10 11:39:37 +02:00
athrxx
6c23f78cb9 SCI: add Japanese MUMG detection entry and adapt Fm-Towns sound driver 2011-11-05 21:02:05 +01:00
Filippos Karapetis
5969c6bd2e SCI: Updated Script::getObjectMap()
It now returns a reference to the object list instead of copying it
2011-11-05 13:08:42 +02:00
Filippos Karapetis
58190c36b4 SCI: Made the object map hashmap of the Script class private 2011-11-05 10:07:03 +02:00
Filippos Karapetis
267c6f1756 SCI: Made more fields of the Script class private. Some cleanup. 2011-11-05 03:00:42 +02:00
Filippos Karapetis
cdedfa3d85 SCI: Removed a duplicate variable assignment 2011-11-04 00:42:37 +02:00
Filippos Karapetis
b3134650df SCI: Fixed a workaround 2011-11-03 22:44:11 +02:00
Filippos Karapetis
747bc75bc7 SCI: Fixed typo in colorIsFromMacClut() 2011-11-03 22:40:28 +02:00
Eugene Sandulenko
6d2e7228b5 SCI: Add fixme comment to a weird comparison 2011-11-03 01:17:46 +00:00
Eugene Sandulenko
7e298f13a1 SCI: Fix copy/paste error 2011-11-03 01:06:56 +00:00
Torbjörn Andersson
884ee96708 SCI: Remove unnecessary semicolon 2011-11-02 21:53:13 +01:00
Filippos Karapetis
9dcab12160 SCI: Fixed bug in commit 1a17bba.
Thanks to wjp for pointing it out.
2011-11-02 00:23:18 +02:00
Filippos Karapetis
1a17bba1e4 SCI: Fix Common::List::erase usage.
Thanks to Tron for pointing that out.
2011-11-02 00:17:13 +02:00
Filippos Karapetis
e674298a60 SCI: Fixed bug #3430834 - "SCI: KQ6: Music stops after leaving shop"
A regression from commit 9654068
2011-11-01 23:42:38 +02:00
Filippos Karapetis
d6658db7c0 SCI: Fixed unexpected end of file in fmtowns.cpp 2011-11-01 23:20:09 +02:00
athrxx
b7ae744dea SCI: limit new FM-Towns driver to KQ5
Mixed up mother goose is reported not to use that driver and even crash when trying to use it.
Play Id and instrument patch id seem to be different.
2011-11-01 21:56:54 +01:00
athrxx
9b838239eb SCI: (KQ5 FM-Towns) - fix voice mapping
(Driver channels would get reserved via the 0x4b control, but they would never get released)
2011-11-01 20:31:59 +01:00
athrxx
6a91508475 SCI: add sound driver for KQ5 FM-Towns 2011-11-01 20:31:40 +01:00
athrxx
731382ad51 SCI: add Japanese detection entry for KQ5 FM-Towns and fix audio language handling 2011-11-01 20:29:53 +01:00
Filippos Karapetis
9caacac724 SCI: More work on kEditText 2011-10-30 21:42:33 +02:00
Filippos Karapetis
acebd6d0be SCI: Removed the hack for the creation of LARRY3.DRV, used in LSL3
This is no longer necessary, as our file I/O code handles this case
correctly now. Also, updated the description of file I/O on top.
2011-10-30 21:42:32 +02:00
Lars Skovlund
40e22d9e33 SCI32: kString: Move variable declaration to prevent problems
with object lifetimes.
2011-10-30 13:56:37 +01:00
Filippos Karapetis
0f90b8eaad SCI: Allow alt key combinations in all SCI games
Such key combos are used for the game debugger in SCI1.1 and GK1
2011-10-29 20:39:39 +03:00
Filippos Karapetis
4f69967773 SCI: Added a new debug flag, "DebugMode" for SCI32 games
This is used to enable the embedded debugger in several SCI32 games
(PQ4, QFG4, GK1, GK2, KQ7, SQ6 and LSL7)
2011-10-29 18:32:52 +03:00
Filippos Karapetis
d87b4d88e0 SCI: Bugfix for text alignment in SCI32 games 2011-10-29 18:32:52 +03:00
Filippos Karapetis
c4b2cd057a SCI: Fixed speech in PQ4 CD 2011-10-29 18:32:50 +03:00
Torbjörn Andersson
52522b85e9 SCI: Silence GCC warning 2011-10-29 09:38:40 +02:00
Filippos Karapetis
e2a2cee092 SCI: Fixed the up/down buttons in GK1 2011-10-29 05:21:47 +03:00
Filippos Karapetis
5509d092be SCI: Implemented text alignment for SCI32 2011-10-29 05:21:46 +03:00
Filippos Karapetis
c0d4adbd65 SCI: Fixed typo 2011-10-29 01:42:41 +03:00
Filippos Karapetis
ec7b5a79c2 SCI: Some fixes for text positioning in SCI32 games (still WIP)
Also, removed duplicate code
2011-10-29 01:39:37 +03:00
Filippos Karapetis
1cc30572e6 SCI: Remove unneeded casts (thanks to wjp for pointing that out) 2011-10-28 22:54:02 +03:00
Filippos Karapetis
739ceb851d SCI: Added two files missing in commit 4ac2940 2011-10-28 22:31:01 +03:00
Filippos Karapetis
4ac2940bc5 SCI: Added skeleton code for kEditText (still not working) 2011-10-28 22:20:33 +03:00
Filippos Karapetis
d8db7b11c1 SCI: Use the original text buffer width/height when drawing it
Fixes the display of overlay text
2011-10-28 22:20:33 +03:00
Filippos Karapetis
1ee923f8d2 SCI: Draw overlay text, if it exists (e.g. on buttons) 2011-10-28 22:20:32 +03:00
Filippos Karapetis
f61ea4c9cf SCI: Fixed text background color and text transparency for SCI32 games 2011-10-28 22:20:31 +03:00
Filippos Karapetis
ac559b0212 SCI: Renamed GfxControls to GfxControls16 2011-10-26 01:54:27 +03:00
Strangerke
97207dcbe3 SCI: Add GUIO_EGAUNDITHER based on Sierra Games Versions
Thanks [md5] for the link
2011-10-24 17:43:29 +02:00
Strangerke
c40e45244a LAUNCHER: Add GUIO_NOASPECT to SCI
Thanks [md5] for the help
2011-10-24 00:24:15 +02:00
Eugene Sandulenko
32972a5ffb AD: Switched rest of the engines to new GUIO 2011-10-23 17:53:13 +01:00
athrxx
da96afe167 SCI: fix thread lockup issue when loading savegames using a sound driver which depends on the mixer thread for timer calls.
The issues seems to be known. See comments (not by me) in SciMusic::clearPlayList().
For the same reason mentioned there the mutex may also not be locked before calling clearPlayList().
2011-10-22 19:53:24 +02:00
Filippos Karapetis
1736345906 SCI: The demo of GK1 has no alternate sound effects.
This fixes the sound effect heard in the "Day 1" screen
2011-10-20 19:02:15 +03:00
Filippos Karapetis
228c4fb286 SCI: Added a hack to fix bug #3035693 - "SCI: QFG3 demo: Rope swinging more heroic than ever" 2011-10-20 00:47:53 +03:00
Filippos Karapetis
010d12ace8 SCI: Moved the width adjustment outside getPlaneRect() 2011-10-19 23:52:53 +03:00
Filippos Karapetis
84a185ede2 SCI: Added a detection for the second kSetShowStyle variant 2011-10-19 23:52:53 +03:00
Filippos Karapetis
5ba50c69b1 SCI: Changed the kUnload workaround for the LB2 demo to apply to all scenes 2011-10-19 23:52:52 +03:00
Filippos Karapetis
935eaa175b SCI: Move the palette merging checking code inside the GfxPalette class 2011-10-19 23:52:51 +03:00
Filippos Karapetis
28d0901bff SCI: Added a sanity check when drawing text. Older SCI32 saves work now 2011-10-19 21:54:05 +03:00
Filippos Karapetis
513d0be106 SCI: Merged all the code to get/set the NS rect 2011-10-19 20:29:05 +03:00
Filippos Karapetis
7a96bcb3ed SCI: Removed unused includes 2011-10-19 20:29:04 +03:00
Filippos Karapetis
2b9dc69ac0 SCI: Updated comments in kShowStyle() and kCelInfo() 2011-10-19 20:29:03 +03:00
Filippos Karapetis
85af217a5b SCI: Implemented kObjectIntersect() 2011-10-19 20:29:02 +03:00
Filippos Karapetis
722ce77675 SCI: Wrapped some very long lines 2011-10-19 20:29:01 +03:00
Filippos Karapetis
de6e5c7366 SCI: Fixed script bug #3425276 - "SCI: PQ2: Game crashes when looking at file" 2011-10-19 15:24:45 +03:00
Filippos Karapetis
fa43ded590 SCI: The draw_pic console command now works in SCI32
Moreover, the overlay is temporarily hidden to show the picture
2011-10-19 02:02:04 +03:00
Filippos Karapetis
289e4e6cfb SCI: Duck videos are 16bpp, so we need to change the active pixel format 2011-10-18 03:24:46 +03:00
Filippos Karapetis
7708a4ddbb SCI: Added some hacks related to new functionality in Phantasmagoria 2
The game will now start (but won't do anything exciting - it'll display
its main menu, which doesn't work yet)
2011-10-18 03:10:19 +03:00
Filippos Karapetis
021b09d35c SCI: Initial implementation of kPlayDuck for Phantasmagoria 2 2011-10-18 02:38:26 +03:00
Filippos Karapetis
701e318360 SCI: Set the correct number of kernel functions for SCI3 2011-10-18 02:36:59 +03:00
Filippos Karapetis
ee4c96b1d2 SCI: Added the GOG version of GK2, and fixed some GUI flags 2011-10-18 01:22:14 +03:00
Filippos Karapetis
e49c65a27b SCI: Moved the Hi-res description for LSL6 hi-res in the extras field 2011-10-16 16:50:40 +03:00
Filippos Karapetis
0186bda0ce SCI: Updated the description of LSL6 hires to distinguish it better 2011-10-16 15:59:21 +03:00
Filippos Karapetis
ffe7073037 SCI: Script 64036 in Torin's passage contains an invalid export 2011-10-16 13:01:13 +03:00
Filippos Karapetis
b956b24149 SCI: Added a heuristic to distinguish Mac SCI1.1 from SCI2.1 versions
This removes the hack that checks for the existence of resource.cfg
2011-10-15 01:00:58 +03:00
Filippos Karapetis
88472151b4 SCI: Fixed text length in upscaled SCI32 games 2011-10-15 00:19:39 +03:00
Filippos Karapetis
9f568f5f0b SCI: Fixed display of text surfaces in SCI21 2011-10-14 21:08:26 +03:00
Filippos Karapetis
8609e22e40 SCI: Silenced warnings 2011-10-14 20:30:22 +03:00
Filippos Karapetis
b04a069782 SCI: More work on kBitmap (still WIP) 2011-10-14 14:07:01 +03:00
Filippos Karapetis
d39cdd8e1c SCI: More work on the vertical plane offset for SCI32. Still WIP.
Vertical clipping is still not finished. This fixes the display in the
Torin demo (which uses a scene with loads of items with a vertical
offset).
2011-10-14 14:07:00 +03:00
Filippos Karapetis
7d6d8c2475 SCI: Extended the detection of certain selectors to work in SCI2
This is needed for some demos that do not supply a selector vocabulary
(i.e. vocab 997)
2011-10-13 14:03:58 +03:00
Filippos Karapetis
8d4e562555 SCI: Implemented kBitmap(3) and kBitmap(5). Some cleanup 2011-10-13 14:03:57 +03:00
Filippos Karapetis
e7260d992c SCI: Updated a comment inside processPlaySound() 2011-10-13 14:03:57 +03:00
Filippos Karapetis
0166665926 SCI: Fixed a long-standing bug in kDoSound(init)
The sound handle should not be set in kDoSound(init), but in
kDoSound(play). This is verified against several SCI versions,
plus game scripts check if a sound slot is playing primarily
by checking its handle. Fixes the sound in Shivers and probably
an assortment of other sound related bugs
2011-10-12 12:49:39 +03:00
Filippos Karapetis
497c3e75b4 SCI: Marked functions that have been changed into dummy ones in SCI3 2011-10-12 12:49:38 +03:00
Filippos Karapetis
9fcd3ece53 SCI: kSave(3) is kCheckSaveGame() and kSave(6) is kFileIOUnlink() 2011-10-12 03:25:27 +03:00
Heather Douglass
084b2deccc SCI: Implementation of kCelInfo subop 4
kCelInfo subop 4 returns the pixel color at the
passed in x,y coordinates for the passed in view,
loop, cel.  Shivers uses this function for the
red door puzzle, room 23601 to determine what
blocks on the puzzle board are already occupied
by pieces.
2011-10-12 02:50:28 +03:00
Heather Douglass
c5e6cdea55 SCI: 3 Uninitialized read workarounds for Shivers 2011-10-12 02:47:26 +03:00
Filippos Karapetis
4af034a7a9 SCI: Added proper handling of duplicate items in kAddScreenItem
- Items that are being readded to the scene should be updated instead
- Added a findScreenItem() call to simplify the code slightly
2011-10-12 02:44:16 +03:00
Filippos Karapetis
df63b827bf SCI: Fixed text display in QFG4 2011-10-11 02:53:00 +03:00
Filippos Karapetis
a9c6d2a4c4 SCI: Some work on the SCI32 bitmap / font code
- Initial implementation of kBitmap(0)
- Bugfixes for fonts in upscaled games
2011-10-11 02:33:45 +03:00
Filippos Karapetis
4cb9a2c809 SCI: kBitmap(1) is kDisposeTextBitmap 2011-10-11 02:03:40 +03:00
Filippos Karapetis
d71aec0b39 SCI: Changed a warning about wrong object variable count into a debugC 2011-10-11 01:39:56 +03:00
Filippos Karapetis
3b5b24c8d5 SCI: Removed leftover unused variables 2011-10-11 01:34:32 +03:00
Filippos Karapetis
96ce226967 SCI: Proper implementation of text drawing for SCI2+ 2011-10-11 01:25:08 +03:00
Filippos Karapetis
4e1face890 SCI: Mixed Adlib/MIDI mode for audio resources should always be enabled in SCI32 2011-10-10 12:20:52 +03:00
Filippos Karapetis
32b4ef8199 SCI: SCI32 kernel functions kRepaintPlane and kInputText are unused 2011-10-10 12:18:12 +03:00
Filippos Karapetis
b17d424257 SCI: Fixed menu music in GK1 when multi MIDI is disabled
A regression from commit 9fd66de
2011-10-10 01:41:09 +03:00
Filippos Karapetis
90a11586e2 SCI: CreateTextBitmap should return a pointer. Also, silenced a warning 2011-10-09 19:56:51 +03:00
Johannes Schickel
13a89385dd SCI: Fix formatting in kRobot. 2011-10-09 18:31:44 +02:00
Filippos Karapetis
26140afaed SCI32: Marked/updated several unused/still not needed kernel functions 2011-10-09 19:16:06 +03:00
Filippos Karapetis
1dcad17988 SCI32: Documented the extra 2 params in kCreateTextBitmap(0) 2011-10-09 19:16:05 +03:00
Filippos Karapetis
d2bdcf8051 SCI: Removed the old kDoAvoider code 2011-10-09 19:16:04 +03:00
Filippos Karapetis
a6884d7d69 SCI2+: Added info for the extra parameter used in kGetSaveDir in SCI32
The warning can be safely removed, as the parameter is a string that
should not be set
2011-10-09 19:16:03 +03:00
Filippos Karapetis
69d08a7192 SCI21: Moved kRobot() together with the other video functions 2011-10-09 19:16:02 +03:00
Filippos Karapetis
b4a23a709d SCI2+: Added a workaround for an uninitialized temp in PQ4 2011-10-09 03:04:54 +03:00
Filippos Karapetis
227e69ef08 SCI2+: Fixed the implementation of kTextSize(), removing some hacks
Thanks to lskovlun for the fix
2011-10-08 19:11:14 +03:00
Filippos Karapetis
4ad2ebd995 SCI2+: Some groundwork for kTextSize()
The old behavior is currently hacked in inside kernelTextSize(), as the
top of the subtitles frame is wrong if kTextWidth() is properly working...
2011-10-08 17:19:00 +03:00
Lars Skovlund
d88827b13f SCI: Fix black screen in LSL7 intro 2011-10-08 12:25:32 +02:00
Lars Skovlund
1651024cdc SCI: Fix comment in kCelInfo 2011-10-07 21:24:30 +02:00
Filippos Karapetis
19cac9bb11 SCI21: Some initial work on kBitmap 2011-10-07 02:52:30 +03:00
Filippos Karapetis
189357dc9b SCI: Added some extra static selectors
These aren't needed by the engine, but make debugging easier in games that
have no selector vocabulary
2011-10-07 02:52:28 +03:00
Filippos Karapetis
1117c8c3ed SCI: Also default to MIDI for Windows versions of SCI1.1 games 2011-10-06 23:33:00 +03:00
Eugene Sandulenko
b4e6962d5d Merge pull request #88 from tsoliman/savegame-timestamp-rebase
ENGINES: make the default savegame description be the timestamp
2011-09-30 10:57:04 -07:00
Filippos Karapetis
4717d11862 SCI: Added support for the halfbrite palette used in Longbow Amiga
This fixes the remaining palette problems in the game (bug #3309036)
2011-09-27 16:54:14 +03:00
Filippos Karapetis
9fd66deb43 SCI: Changes to the sound resource initialization code
- Unified the sound resource initialization code in
processInitSound() and reconstructPlayList()
- Now checking the "Mixed Adlib/MIDI" mode checkbox for SCI1.1 digital
audio sound effects, like it's done for SCI0 - SCI1 sound effects. If
it's unchecked, their MIDI counterparts will play instead, if
available
2011-09-26 20:02:34 +03:00
Filippos Karapetis
43fb9d32b5 SCI: Code formatting 2011-09-26 20:02:32 +03:00
Filippos Karapetis
ecddcc12b7 SCI2: kString(Format) uses %d for unsigned integers. Some cleanup 2011-09-25 23:55:44 +03:00
Filippos Karapetis
300cec119c SCI: Bugfix for the palette of Longbow Amiga (still not right) 2011-09-25 04:10:20 +03:00
Filippos Karapetis
e552bc57ba SCI: Always reset hold when starting a new song. Fixes bug #3413589 - "SCI: KQ6CD: Game stops responding in the catacombs"
kDoSoundSetHold is always called after kDoSoundPlay. A regression from
commit 4f3b85f4ef
2011-09-24 18:46:55 +03:00
Tarek Soliman
7b68952726 SCI: change savegame default description day format to YYYY.MM.DD
... and make it optional subject to USE_SAVEGAME_TIMESTAMP
2011-09-23 22:06:19 -05:00
Filippos Karapetis
3bffb8e3f7 SCI: Fixed timer bug #3127824 - "SCI: speed problem - Castle of Dr Brain" 2011-09-24 01:32:13 +03:00
Filippos Karapetis
75fb3b4ef8 SCI21: Added some skeleton code for offsetting pictures vertically (not working yet). Some cleanup 2011-09-23 18:55:30 +03:00
Filippos Karapetis
632df09761 SCI21: Marked kNewRoom as a debug function 2011-09-23 18:55:29 +03:00
Filippos Karapetis
077acc5575 SCI: Fixed bug #3413301 - "SCI: KQ6CD: Game stops responding at the bookworm" 2011-09-23 17:42:14 +03:00
Filippos Karapetis
0b4802c24b SCI: Fixed bug #3413020 - "SCI: Longbow: Robin is stuck in the final monk chase scene"
Special thanks to wjp for his work on bisecting to find the regression and
for checking against the KQ5CD disasm
2011-09-23 00:22:44 +03:00
Filippos Karapetis
b807041ad2 SCI: Ignore invalid pointers if the kernel function signature specifies it
SCI scripts can send stale pointers to kernel functions (e.g. after
loading a saved game). This is normal in some cases (such as kDisplay
and kGraphRestoreBox), and their signatures are set to allow invalid
pointers.
Thus, in such cases, allow invalid pointers, as the kernel functions
will handle them themselves. Fixes bug #3412002, and properly fixes bugs
#3389579, #3292251, #3308087 and #3056811. Removed a relevant TODO.
2011-09-22 04:18:13 +03:00
Filippos Karapetis
7f675de855 SCI: Fixed compilation with VM_DEBUG_SEND defined 2011-09-22 04:18:11 +03:00
Filippos Karapetis
d8aaf40090 SCI: Fixed bug #3404466 - "ScummVM crashes when trying to add non-SCI resources file" 2011-09-10 13:47:02 +03:00
Filippos Karapetis
fa654e942a SCI: Added handling of cnick-kq and cnick-longbow in the fallback detector 2011-09-10 13:02:15 +03:00
Filippos Karapetis
1d1cd14e65 SCI: Added another EGA version of Castle of Dr. Brain (bug #3405307) 2011-09-10 12:36:41 +03:00
Johannes Schickel
5443ef943f SCI: Made some static data const. 2011-09-08 00:35:12 +02:00