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