Commit Graph

966 Commits

Author SHA1 Message Date
Johannes Schickel
933ee5b156 GRAPHICS: Remove default values from FontSJIS::drawChar.
drawChar is overloaded in FontSJIS. One takes a "Surface &" as first
parameter another one "void *", they furthermore have the exact same
number of required parameters. The one "void *" just had a few extra
parameters with default values. This resulted in a bug in SCUMM, where
"VirtScreen *" (a subclass of Surface) was passed instead of "VirtScreen &"
and thus the method taking "void *" was incorrectly used.

To make it easier to spot such bugs in the future I just removed the default
values and thus disallow such calls.
2011-07-01 05:42:54 +02:00
Littleboy
b694a78f62 ANALYSIS: Add static casts to is* functions
This fixes a potential problem with passing char values that would be sign-extended and yield unexpected results.
See http://msdn.microsoft.com/en-us/library/ms245348.aspx
2011-06-23 08:52:52 -04:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
Filippos Karapetis
bfa26ffc44 SCI: Reverted commit db7dea3
The original check was correct, and the associated MG bug (#3049515) has
actually been fixed with another commit.

Fixes bug (regression) #3315639 - "Character Glitches in KQ4 SCI".
Many thanks to waltervn and wjp for their help on this
2011-06-13 16:43:04 +03:00
Willem Jan Palenstijn
4c70d39933 SCI: Shrink rectangle updated by DrawControl(Text)
This fixes dialogs in Jones CD (bug #3297111) together
with 9e2c7f26d2.

This grow was probably accidentally added in
6fda9a5067. Assembly of KQ5CD and JonesCD
confirms it shouldn't be there.
2011-06-13 01:24:28 +02:00
Willem Jan Palenstijn
8e2f2e3730 SCI: Remove workaround that caused graphics corruption
This fixes coins disappearing in Mother Goose SCI1.1 (bug #3051136).
Filippos has confirmed the workaround is no longer necessary for the
menubar in LSL6 for which it was added.
2011-06-12 20:26:07 +02:00
Willem Jan Palenstijn
9e2c7f26d2 SCI: Treat all priorities above 15 as none
Before only 255 was treated this way. This fixes part of the broken
dialog boxes in Jones CD (bug #3297111) which use priority 254,
and matches Jones CD disassembly.
2011-06-12 20:25:46 +02:00
md5
60943efafd SCI: Fixed bug #3295931 - "SCI: JONES: Disabled commands are available using shortcuts" 2011-06-12 17:58:25 +03:00
Willem Jan Palenstijn
4ec20f857f SCI: Add FIXME for bug #3051136 2011-06-12 02:02:06 +02:00
Walter van Niftrik
4628833a32 SCI: Set Mac versions of LSL1 and LSL5 to screen height 190.
This fixes bug #3310782. However, as I was unable to get the games working in
a Mac emulator, this is an educated guess at this point.
2011-06-04 15:32:57 +02:00
Matthew Hoops
eea482fa43 ALL: behaviour -> behavior 2011-05-25 10:50:46 -04:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
559fda409d SCI: Line wrap some comments 2011-05-09 14:46:17 +02:00
Max Horn
389b613190 SCI: Fix warning about potential strict-aliasing rules violation 2011-05-09 14:42:45 +02:00
Max Horn
76cf7bc907 SCI: Slight cleanup to undithering code 2011-05-09 14:41:49 +02:00
Matthew Hoops
0f0ae4576e SCI: Use new MacCursor code instead of convertCrsrCursor() 2011-05-05 19:27:28 -04:00
Willem Jan Palenstijn
0ff44497c7 SCI: Round left/right edges in bitsShow to even coords
This fixes the vertical black line glitch in the QfG3 start menu (#3293351)
2011-05-01 13:41:06 +02:00
md5
6d05012bda SCI: Fixed bug #3289744 - "Hero Quest 1 demo crashes" 2011-04-29 03:06:15 +03:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Ori Avtalion
3e01d35281 JANITORIAL: Format more forward declarations to follow convention 2011-04-28 12:32:01 +03:00
Ori Avtalion
cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
Willem Jan Palenstijn
fc59a52e7a SCI: Remove left-over fixme comment
It should have been removed in b40b87fdb5
2011-04-13 18:57:18 +02:00
Max Horn
0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00
Max Horn
a4eea36b84 SCI: Initialize newPlane fully before adding it to _planes 2011-04-04 09:53:26 +02:00
Matthew Hoops
9fb10f98e2 SCI: Fix Mac SCI32 picture transparency 2011-04-02 22:35:23 -04:00
Matthew Hoops
2a2c7f5bef SCI: Minor cleanup 2011-03-30 16:00:46 -04:00
Lars Skovlund
40d922206b SCI32: Support for views with 640x400 native resolution
(fixes Wolfgang closeup, room 720)
2011-03-30 21:30:51 +02:00
dhewg
d83a83ef50 JANITORIAL: Remove/comment unused vars
Found by GCC 4.6's -Wunused-but-set-variable
2011-03-29 21:57:56 +02:00
Matthew Hoops
e1883a6cf4 SCI: Limit SCI32 view scaling to when we're actually scaling
Fixes bug #3253208
2011-03-29 10:56:19 -04:00
md5
c2274e9065 SCI: Make sure that planeOffsetX is always correctly initialized
Fixes several issues with the menu in KQ7. Thanks to vakons for his patch.
Fixes bug #3231867 - "KQ7 scrolling bug"
2011-03-25 07:41:55 +02:00
dhewg
c144bbf957 SCI: Add two TODOs 2011-03-25 00:41:01 +01:00
md5
89f9c5a9c3 SCI: Moved the engine hunk pointer processing code inside the GfxPorts class
This allows us make _windowList private again
2011-03-20 15:29:12 +02:00
md5
4df049f4d7 SCI: Added a new console command "window_list" or "wl"
This can be used to see a list of the currently open windows. Also, added
a sanity check for the "al" command and performed some minor cleanup
2011-03-20 14:56:13 +02:00
md5
a43689550e SCI: Removed forward references to obsolete classes 2011-03-20 14:54:36 +02:00
md5
1e68000def SCI: Added a new console command, "animate_list" or "al"
This shows the current animation list, along with object properties,
positions and the scripts they belong to
2011-03-20 04:10:29 +02:00
Matthew Hoops
6864a6084d SCI: Fix the screen height of SQ1 Mac 2011-03-14 18:48:43 -04:00
md5
fd2c39591f SCI: Fixed the flashing icon bar in the Mac version of Castle of Dr. Brain
Thanks to waltervn for his work and help on this
2011-03-13 23:34:08 +02:00
md5
5a7c2e0df5 SCI: Fixed regression of rev b1055a3c86. Japanese games should work again 2011-03-13 23:34:05 +02:00
Matthew Hoops
2cbcc76789 SCI: Fix uncompressed SCI1.1 views
A regression from d2ad7898d9
2011-03-10 18:45:51 -05:00
md5
24df295328 SCI: Made some checks inside unditherBitmap() more understandable 2011-03-10 21:50:06 +02:00
md5
91d2d04f90 SCI: Some renaming related to the undithering code
Renamed some variables, functions and comments related to the
undithering code, to make them a bit easier to understand
2011-03-10 18:05:59 +02:00
Walter van Niftrik
952d1a084c SCI: Implement Mac iconbar event handling. 2011-03-09 21:05:19 +01:00
md5
cd816b24d7 SCI: Whitespace fixes 2011-03-09 15:14:12 +02:00
md5
7e517b7808 SCI: Some cleanup and fixes to the view unpacking code
- Added comments for all the different view unpacking algorithms
- Merged the SCI1 VGA and SCI1.1 VGA unpacking code
- Fixed views in Longbow Amiga (the palette is still broken, though)
- Used memset()/memcpy() instead of looping through
- Fixed a regression of rev. d2ad789 (LSL1 Spanish, bug #3135872)
2011-03-09 15:06:42 +02:00
Johannes Schickel
463e475bd6 SCI: Save mouse position in SciEvent.
Instead of querying the event manager for the current mouse cursor coordinates
kGetEvent now uses the saved mouse positions, which will assure every event
will be processed with the correct coordinates instead of the current ones.
Various other functions using SciEvent directly were adapted too.

This fixes cursor click positions for the WinCE backend.

Thanks to wjp and waltervn for helping me with this.
2011-03-09 01:19:12 +01:00
Willem Jan Palenstijn
eece58df7f SCI: Remove unused argument to said 2011-03-08 22:50:32 +01:00
Matthew Hoops
e815102659 Merge branch 'pe_exe' of https://github.com/clone2727/scummvm into clone2727-pe_exe 2011-03-07 17:07:59 -05:00
md5
4ddc66d68e SCI: Initial handling of the views in Longbow Amiga. Still not right 2011-03-07 13:23:52 +02:00
Matthew Hoops
6582b77f1c SCUMM: Use the new WinCursor code in SCUMM HE
Also, updated the MacResManager cursor code to reflect the SCUMM resource extractor code changes
2011-03-06 19:57:18 -05:00
Matthew Hoops
df1a800d01 SCI: Fix KQ6 Mac inventory cursors 2011-03-06 18:36:45 -05:00
Matthew Hoops
adfa5e1b86 SCI: Fix Mac SCI1.1 view decompression
A regression from d2ad7898d9
2011-03-06 12:46:01 -05:00
eriktorbjorn
6a8fadeec8 SCI: Silence GCC warning 2011-03-06 18:39:26 +01:00
md5
d2ad7898d9 SCI: Merged the cel data unpacking code for views and pictures 2011-03-06 19:22:32 +02:00
md5
0698ee61ab SCI: Some changes to picture drawing
- Fixed picture drawing for Longbow Amiga (view drawing is still wrong,
though)
- Added debug output for picture drawing
2011-03-06 17:30:14 +02:00
md5
b16967fece SCI: Cleared up the different view types and ordered them by color count 2011-03-05 18:47:14 +02:00
md5
dbd3f440d2 SCI: Added some support code for Longbow Amiga 2011-03-05 18:47:13 +02:00
Matthew Hoops
dbaad1a896 SCI: Fix Mac icon bar palette match order 2011-03-04 19:48:14 -05:00
md5
d95b5331fb SCI: Some palette related changes
- Moved palette color count inside the GfxPalette class
- Enabled all of the kPalette subops for 16 color SCI1 games, apart from
the ones for intensity palette animation, and palette resource loading
- Removed isVGA() and isAmiga32color() methods from the resource manager -
they ended up in having inconsistent code
2011-03-04 22:04:13 +02:00
md5
5b9677da72 SCI: Cleaned up some view type checks 2011-03-04 22:04:12 +02:00
md5
bc992d77de SCI: Enable fade transitions for SCI1 EGA games 2011-03-04 22:04:11 +02:00
Willem Jan Palenstijn
b40b87fdb5 SCI: Fix flood fill matching in EGA mode
In EGA games a pixel in the framebuffer is only 4 bits. We store a full
byte per pixel to allow undithering, but when comparing pixels for
flood-fill purposes, we should only compare the visible color of a
pixel.

This fixes bug #3078365 in Iceman.
2011-03-04 18:24:46 +01:00
md5
ef939772b3 SCI: Added support for 16/32 color view and picture patches
16 color patches (*.p16 and *.v16) are used in 16 color EGA SCI1 games
32 color patches (*.p32 and *.v32) are used in 32 color Amiga SCI1 games
Removed a workaround for SCI1 EGA (bug #3044500), as that bug has been
fixed already in the view patch. Thanks to waltervn for observing this.
2011-03-04 17:16:54 +02:00
md5
fe7d2026b1 SCI: Added a comment for the additional code in kDisplay
This extra code that is responsible for changing text placing has been
found in SCI1 middle (i.e. LSL1VGA) and newer games
2011-03-04 14:37:41 +02:00
md5
6b41673fab SCI: Amiga SCI1 middle games are actually SCI1 late
This fixes a lot of glitches, caused by the differences between the two
versions
2011-03-04 14:27:25 +02:00
Willem Jan Palenstijn
78c00744c2 SCI: Add fixme for EGA flood fill bug (#3078365) 2011-03-04 00:28:23 +01:00
md5
e286b1b5f1 SCI: Removed a hack for SCI1 Amiga games in setOnScreen() 2011-03-04 00:25:21 +02:00
md5
c8225c9c0e SCI: Amiga SCI1 middle games use the new PC SCI1 late transition effects 2011-03-04 00:25:20 +02:00
Willem Jan Palenstijn
3f05221334 SCI: Always add new windows to back of list up to SCI_1_EGA_ONLY.
Confirmed this behaviour in KQ1sci, KQ4, Iceman and QfG2.
Hoyle3-demo remains an exception.
2011-03-02 23:48:57 +01:00
Willem Jan Palenstijn
1ef1f3e671 SCI: Call Graph(RedrawBox) from EndUpdate for SCI0/01
Confirmed this behaviour in KQ1sci, KQ4, Iceman, and that
it isn't present in QfG2 and KQ5CD.

This fixes the graphics glitch in KQ4 when falling down the
stairs in room 61 (#3039775).
2011-03-02 23:48:57 +01:00
Willem Jan Palenstijn
a55179177e Revert "SCI: Fixed bug #3039775 - "KQ4: Graphics glitch [...]""
This reverts commit 74e99328ec.
SSCI takes care of this issue in a different manner, which
the next commit emulates.
2011-03-02 23:48:57 +01:00
md5
b1055a3c86 SCI: Fixed bug #3040161 - "LONGBOW: Textbox glitch"
GetLongest() could exceed the maximum width with the very last
character of a word. The same fix has been applied to the SCI32 code.
2011-03-02 20:38:21 +02:00
md5
ba42c6ff7d SCI: Fixed text positioning in the credits screen of Dr. Brain Amiga
The additional text positioning code in kDisplay was added in SCI1
middle, not SCI1 late. Also, did some slight cleanup
2011-03-02 20:07:46 +02:00
md5
74e99328ec SCI: Fixed bug #3039775 - "KQ4: Graphics glitch in the mansion tower" 2011-03-02 10:48:44 +02:00
Willem Jan Palenstijn
5972a6bbe9 SCI: Fix variable name 2011-03-02 08:37:22 +01:00
Willem Jan Palenstijn
bc48b124f0 SCI: Change workaround for hoyle3-demo's rendering order
This behaviour much more closely matches SSCI.
2011-03-02 00:48:21 +01:00
Willem Jan Palenstijn
db536da8d3 SCI: Skip Ports when iterating over Windows in GC 2011-02-28 21:37:12 +01:00
md5
0d555c497d SCI: Moved hunk pointer handling to the GC, and removed some related workarounds
SCI scripts can contain stale pointers, which are used later on. We now delete
the contents of hunk entries without invalidating the relevant pointers and let
the GC clear the references. Many thanks to waltervn and wjp for all their work
and help on this.
2011-02-28 15:56:03 +02:00
Willem Jan Palenstijn
d17a889400 SCI: Fix negative window origin alignment.
SSCI does a shr 1; shl 1 here in SetOrigin.
This fixes a crash in the ending scene of SQ3 (#3194199).
2011-02-27 18:17:22 +01:00
md5
72f65b3946 SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLY
This renaming allows us to better distinguish that this version is for games
that only had an EGA version, and avoid confusion with newer SCI1 game releases
with EGA graphics (e.g. KQ5 EGA). The only game with this SCI version is QFG2,
a SCI1 EGA game with a parser. Also, added some games for each SCI version.
2011-02-27 16:48:53 +02:00
md5
fe04339909 SCI: Removed the SCI32 version of kernelDrawCel() and placed its code inside the debug function cmdDrawCel, as it was hacked together to be used specifically in that command (thanks to salty-horse for spotting this) 2011-02-26 19:07:31 +02:00
md5
ab256842e4 SCI: Added a TODO concerning the workaround for SQ1EGA, as we don't know if it happens in the original version 2011-02-26 18:47:23 +02:00
md5
8571083700 SCI2+: Mention that the actual problem with text wrapping happens because of the unimplemented kTextSize kernel call in SCI32 2011-02-26 06:13:08 +02:00
md5
67aee1ebd8 SCI: Slight cleanup in the animate code 2011-02-26 05:19:11 +02:00
md5
8bd01f69b2 SCI: Added a workaround for script bug #3044500 - "SQ1EGA: Skimmer-Buyer Dialogue Portrait Backwards Anim" 2011-02-24 16:35:19 +02:00
Matthew Hoops
336186900d SCI: Don't name a variable the same as its function
Silences a gcc warning
2011-02-23 13:01:01 -05:00
md5
5c9b1e6cbd SCI: Added a workaround for bug #3036763 - "HOYLE3 Demo: Bad Dialog Priorities" 2011-02-23 13:36:31 +02:00
md5
a01395bb45 SCI: Cleaned up and segmented the animate code in order to make it a bit more readable 2011-02-23 13:28:17 +02:00
md5
db7dea36cf SCI: Fixed bug #3049515 - "MOTHERGOOSE CD: Tommy Tucker lock-up" 2011-02-23 01:49:17 +02:00
Matthew Hoops
6db22dde64 SCI: Fixed freddy's Mac icon bar palettes
(hopefully for good now)
2011-02-21 20:32:30 -05:00
Matthew Hoops
4402153a09 SCI: Fix disabled Mac icon pseudo-shading 2011-02-21 20:32:24 -05:00
Matthew Hoops
0933325b7c SCI: Add support for enabling/disabling Mac icon bar images 2011-02-20 12:44:59 -05:00
Matthew Hoops
dceb1391cb SCI: Cache all icon bar images from the start 2011-02-20 12:44:59 -05:00
md5
ae88f41596 SCI: Slight cleanup 2011-02-20 12:20:40 +02:00
Matthew Hoops
5091f846a7 GRAPHICS: Switch PICT's palette from RGBA to RGB 2011-02-20 00:45:59 -05:00
Johannes Schickel
e21d6e0d11 Merge branch 'osystem-palette' of https://github.com/lordhoto/scummvm into master
Conflicts:
	backends/platform/android/android.cpp
	engines/sci/graphics/screen.cpp
	engines/sci/graphics/transitions.cpp
2011-02-19 21:46:45 +01:00
strangerke
1055c8a8d0 SCI: Fix compilation using MSVC 9 2011-02-18 22:56:34 +01:00
Matthew Hoops
7b5792d6d2 SCI: Fix window height for some Mac SCI1/1.1 games
Some games have removed the menu bar from the screen. This also fixes King's Quest V's icon bar.
2011-02-18 15:58:23 -05:00
Matthew Hoops
d3e3eca6a3 SCI: Fix Mac icon bar vertical positioning 2011-02-17 13:38:24 -05:00
Matthew Hoops
266806d892 SCI: Fix Mac icon bar palettes
The Mac icon bar uses a palette from the executable and keeps those entries in the palette constantly.

In addition, we're now performing gamma correction on the Mac-based colors so that they are in the same gamma as SCI. The color matching now works with this and using the same color finding as the Mac Palette Manager.
2011-02-17 13:38:23 -05:00
Johannes Schickel
a02454644a Merge branch 'master' into osystem-palette
Conflicts:
	backends/platform/wii/osystem_gfx.cpp
2011-02-15 23:42:50 +01:00
Matthew Hoops
ee09af6a12 SCI: Fix loading SCI32 games
The frames/items in GfxFrameout need to be cleared upon loading
2011-02-14 22:38:12 -05:00
md5
0da6b15539 SCI2+: Point out that there is a hack in the text splitting code
This particular hack causes issues in GK1, when talking with Grace, because the
width of the associated plane isn't set correctly.
2011-02-14 18:16:35 +02:00
Johannes Schickel
bba430eebc SCI: Adapt to setPalette/grabPalette RGBA->RGB change. 2011-02-14 17:08:33 +01:00
Matthew Hoops
dbc6910eae SCI: Add support for Phantasmagoria 2 CLUT resources
My test of ising the clut associated with the intro video produced a decent quality color conversion. This is not yet hooked up to the video player.
2011-02-13 17:29:15 -05:00
Matthew Hoops
80347e9630 SCI: Don't fallback to views in SCI1.1+ Mac games
svn-id: r55871
2011-02-10 15:56:35 +00:00
Matthew Hoops
631d2de745 SCI: Fix Mac SCI1 view transparency
This was a regression from r55825.

svn-id: r55868
2011-02-10 15:12:06 +00:00
Matthew Hoops
85f8dc5dee SCI: Add detection for Freddy Pharkas Mac
svn-id: r55828
2011-02-08 15:03:23 +00:00
Walter van Niftrik
8f3324f6ba SCI: Do not flip clearKey for Mac SCI1.1+ views.
svn-id: r55825
2011-02-08 14:26:39 +00:00
Matthew Hoops
8b19704771 SCI: Fix Mac SCI1.1+ view white/black/transparency
Since Mac OS required black to be at 0xff and white to be at 0x00, the original Sierra programs had to hack around that in various sections of the code to keep things in line with the PC versions. We're changing the view pixels instead so we only have to change in one location.

svn-id: r55823
2011-02-08 05:01:42 +00:00
Max Horn
2d1c8a3533 ALL: Fix whitespaces / indention
svn-id: r55818
2011-02-07 23:01:06 +00:00
Filippos Karapetis
04748b1744 SCI: Fixed compilation
svn-id: r55813
2011-02-07 18:32:42 +00:00
Max Horn
ab039812e7 COMMON: OSystem now has a PaletteManager
svn-id: r55806
2011-02-07 17:52:38 +00:00
Filippos Karapetis
6f9ac84f77 SCI: Converted the robot decoder into a regular video decoder, and decoupled it from the
SciEngine class

- Robot videos are now shown in frameOut(), like they should, and kRobot(sync) is only
used for syncing with the game scripts
- Hooked video playing into the "play_video" console command

svn-id: r55801
2011-02-07 12:24:09 +00:00
Filippos Karapetis
d7fb5239e7 SCI: v4 robots are only used in the PQ:SWAT demo, the full version uses v5. Some cleanup
svn-id: r55800
2011-02-07 09:03:58 +00:00
Matthew Hoops
cd599216a5 SCI: Add support for v4 robots
svn-id: r55799
2011-02-07 05:53:30 +00:00
Matthew Hoops
cf918d72e5 SCI: Add support for Mac robot files
svn-id: r55797
2011-02-07 01:56:30 +00:00
Matthew Hoops
aa64cf1d62 SCI: Fix SCI1.1 Mac picture palettes further
The palette color start is actually a byte, not a uint16.

svn-id: r55796
2011-02-07 01:51:09 +00:00
Filippos Karapetis
9149100629 SCI: Several changes related to robot files
- Added WIP robot sound support (which has pops between each frame for some reason)
- Now handling a lot of previously ignored fields
- Now handling the chunk before the palette chunk properly. Fixes some v6 videos
- Added known robot related TODOs

svn-id: r55793
2011-02-06 11:51:21 +00:00
Matthew Hoops
46404940b5 SCI: Improve Mac SCI1.1+ cursor support
The scripts can pass a list of view id's from the DOS version that get remapped to CURS/crsr id's. GK1 cursors now work and Phantasmagoria uses the correct ones.

svn-id: r55791
2011-02-06 00:05:27 +00:00
Matthew Hoops
c1a9857837 SCI: Fix SCI32 Mac picture palettes
The palette offset should be 32-bit, not 16. The GK1 Mac intro now plays properly.

svn-id: r55784
2011-02-05 08:52:52 +00:00
Matthew Hoops
ad9486e1a8 SCI: Throw a warning when trying to play a Mac robot file (big endian)
svn-id: r55778
2011-02-05 07:49:21 +00:00
Matthew Hoops
4a4a6cd585 SCI: Properly initialize a Robot variable so we don't segfault on quitting
svn-id: r55776
2011-02-04 23:03:05 +00:00
Filippos Karapetis
512bcf8b90 SCI: Rewrote the robot playing code in a way similar to other video decoders
- The code now streams videos instead of loading them in memory, without utilizing seeking
- Removed the sound-related robot code from the graphics classes
- Started implementing the code for the sound in robot videos (still not finished)

svn-id: r55772
2011-02-04 17:51:59 +00:00
Lars Skovlund
11e2f2226c SCI: Robot v6 support. I _think_ this is complete.
svn-id: r55759
2011-02-03 19:47:36 +00:00
Filippos Karapetis
38444a3712 SCI: updated comments concerning robot videos
svn-id: r55757
2011-02-03 18:24:55 +00:00
Filippos Karapetis
e1cea3b879 SCI: Robot related changes
- Reverted accidental changes in r55752, and moved all the deletion code in freeData()
again
- Now skipping v6 videos (in SCI3), instead of throwing an error

svn-id: r55756
2011-02-03 18:18:36 +00:00
Matthew Hoops
4d088332a2 SCI: Add support for GK1 Mac high-res fonts
svn-id: r55754
2011-02-03 15:51:51 +00:00
Filippos Karapetis
c4861605df SCI: Fix a typo, the interpreter can handle robot video versions 3 - 5
svn-id: r55753
2011-02-03 14:44:58 +00:00
Filippos Karapetis
74caf6cd71 SCI21: Some robot related changes
- Don't reallocate the frame buffer on each update if its dimensions haven't changed
- Don't attempt to display the currently unsupported v4 robot files (used in PQ:SWAT)
- Signed/unsigned fixes
- Disabled the unused getFrameRect() function
- Some cleanup and reordering

svn-id: r55752
2011-02-03 14:37:50 +00:00
Matthew Hoops
4c0af01d6a SCI: Disable the special QFG1 Mac icon bar
The original interpreter completely ignores it in favor of the regular one.

svn-id: r55748
2011-02-03 02:26:57 +00:00
Matthew Hoops
c62e507890 SCI: Fix GK1 Mac scaling
svn-id: r55744
2011-02-02 22:29:14 +00:00
Lars Skovlund
441c5e0211 SCI: Fix memory leaks in GfxRobot
svn-id: r55740
2011-02-02 21:05:38 +00:00
Matthew Hoops
d3e30f3038 SCI: Fix SCI32 Mac fonts
svn-id: r55725
2011-02-02 16:22:58 +00:00
Matthew Hoops
f1f86646de SCI: Fix SCI32 Mac pictures
svn-id: r55724
2011-02-02 16:15:49 +00:00
Matthew Hoops
24e983610d SCI: Fix GK1 Mac views, the game now starts
svn-id: r55721
2011-02-02 15:33:33 +00:00
Matthew Hoops
1ac0680a77 SCI: Fix SCI1.1+ Mac views with uint16 rle lengths (thanks, Walter)
svn-id: r55705
2011-02-01 03:50:29 +00:00
Sven Hesse
250f5a97fa SCI: Add missing initializations
_resourceData, _imageStart, _audioStart and _audioLen

svn-id: r55689
2011-01-31 18:18:39 +00:00
Lars Skovlund
aa5e8e6c2b SCI/Robot: Simplify ::setPalette()
svn-id: r55498
2011-01-24 11:17:47 +00:00
Lars Skovlund
3b61cb57d4 SCI/Robot: Fix typo
svn-id: r55497
2011-01-24 10:57:19 +00:00
Lars Skovlund
bcf62fa8b9 SCI/Robot:Don't ifdef out ::playAudio, since it is only used for debugging
svn-id: r55449
2011-01-22 21:58:33 +00:00
Filippos Karapetis
7dd28c024a SCI: Moved the robot audio playing test code inside GfxRobot::playAudio()
svn-id: r55428
2011-01-22 14:58:17 +00:00
Lars Skovlund
8a44af63af SCI/robot: Correct detection of null preload
svn-id: r55427
2011-01-22 14:32:39 +00:00
Lars Skovlund
dc27a22026 SCI: Added stub for playing robot audio from the console
svn-id: r55424
2011-01-22 13:12:01 +00:00
Filippos Karapetis
89087b18c7 SCI21: Allow the game scripts to sync robot videos, like in SSCI. Also, references of the SciEngine class to itself via g_sci have been removed
svn-id: r55422
2011-01-22 13:01:10 +00:00
Filippos Karapetis
8928dc3cf5 SCI: Changed the expensive and inaccurate floating-point divisions to integer divisions. Fixes asserting of 90.rbt in Phantasmagoria (the game's logo video)
svn-id: r55405
2011-01-22 03:28:14 +00:00
Filippos Karapetis
84a04d6876 SCI: Code formatting
svn-id: r55404
2011-01-22 02:51:39 +00:00
Lars Skovlund
9f1904d661 SCI: Fix robot palette activation
svn-id: r55397
2011-01-21 22:50:30 +00:00
Lars Skovlund
cd62c3ae42 SCI: Fix robot memory leak
svn-id: r55390
2011-01-21 19:52:52 +00:00
Lars Skovlund
0e33dd9164 SCI: Partial robot support, currently disabled since it does not run
asynchronously as it should.

svn-id: r55382
2011-01-21 18:53:35 +00:00
Filippos Karapetis
0309f36552 SCI: Plugged 2 memory leaks, reported by digitall
- Plugged 2 memory leaks in the SCI0 menu code (the lists of menu and submenu entries)
- Got rid of the _listCount variable

svn-id: r55254
2011-01-15 23:55:35 +00:00
Filippos Karapetis
bbd2cd460f SCI2.1: Some further work on robot files
svn-id: r55190
2011-01-09 18:18:16 +00:00
Filippos Karapetis
db11b626c7 SCI2: Implemented proper text splitting
svn-id: r55184
2011-01-09 13:28:34 +00:00
Filippos Karapetis
5d7729be32 SCI: Cleanup
svn-id: r55182
2011-01-09 13:21:19 +00:00
Filippos Karapetis
cf94a99bb7 SCI: Changed the bShow parameter of GfxText16:Box() into a bool
svn-id: r55179
2011-01-09 00:32:26 +00:00
Filippos Karapetis
505e1888e5 SCI: Some function renaming
Draw_Status -> DrawStatus
Draw_String -> DrawString

svn-id: r55178
2011-01-08 23:16:44 +00:00
Filippos Karapetis
32d7e687ee SCI: debugC calls no longer require a debug level of 2 to show output
svn-id: r55086
2011-01-01 12:48:12 +00:00
Filippos Karapetis
1528a3d904 SCI: A more efficient solution for bug #3037874 (SCI high CPU usage), which will hopefully
not clash with the speed throttler. This is a more proper fix for bug #3058865, and a
partial fix for bug #3127824

svn-id: r55046
2010-12-26 15:28:02 +00:00
Filippos Karapetis
bc9442d6d8 SCI: Fixed bug #3059860 - "LB2CD: Glitch in Act 6 coroner answer buttons"
svn-id: r55034
2010-12-24 15:53:06 +00:00
Filippos Karapetis
401a8c355d SCI: Some initial work on the sound of robot videos (doesn't work yet, seems to be a problem with the encoding of the customized SOL audio files in robot videos)
svn-id: r55023
2010-12-23 13:11:10 +00:00
Filippos Karapetis
166f3f2dfd SCI2+: Set pictureCels to 0 after deleting them
svn-id: r55004
2010-12-22 13:52:25 +00:00
Filippos Karapetis
75649f8903 SCI: Reset the portrait bitmap to the "closed mouth" state, when skipping dialogs
in the Windows version of KQ6

svn-id: r54983
2010-12-21 07:53:34 +00:00
Filippos Karapetis
26dfb6affa SCI: Fixed bug #3041153 - "SCI Fanmade Games: Message window glitch"
The left window dimension adjustment (rev #48772) has been moved from
GfxPorts::setOrigin() into GfxPorts::addWindow(), as the updated dimension is
later used when filling the contents of the window (apparent in some fan made
games)

svn-id: r54976
2010-12-20 15:30:31 +00:00
Filippos Karapetis
4b836d611f SCI: Fixed bug #3037945 - "PQ3 : Graphical Glitch with White Mercedes on Freeway"
svn-id: r54975
2010-12-20 12:21:18 +00:00
Filippos Karapetis
d3340b0d0c SCI: Commented out unused signal flags
svn-id: r54974
2010-12-20 12:19:28 +00:00
David Turner
58b7295193 SCI: Fixed View Cel RLE Decoding when RLE Code 0x40 is used (Corrects Bug #3135872 "LSL1VGA: "Pause Game" problem")
In the copy case, the runLength can be up to 127, not 64 i.e. the LSB of the RLE code forms part of the runLength.

svn-id: r54924
2010-12-15 22:36:55 +00:00
Matthew Hoops
c2ec6020e3 SCI: Fix uninitialized reads (and therefore, GK1)
svn-id: r54799
2010-12-06 19:37:19 +00:00
Filippos Karapetis
94801fcea3 SCI: Fixed bugs #3041044, #3046543 and #3046513
svn-id: r54690
2010-12-01 00:40:52 +00:00
Filippos Karapetis
d3b14e1445 SCI: Implemented FR #3101338: "King's Quest 6 Windows Mouse Icons"
Added an option to use the original Windows cursors in the Windows version of KQ6
Also, added an update on how the Mac cursors are handled (perhaps the handling is
the same)

svn-id: r54495
2010-11-26 12:37:24 +00:00
Filippos Karapetis
c8ef70ea1c SCI: Some minor fixes for Phantasmagoria 2 (which doesn't work at all, since it has some differences in its views)
svn-id: r54390
2010-11-20 00:20:05 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn
5a554e3dbe SCI: Change 'colour' to 'color'
All other instances already were spelled 'color' in the SCI
engine (and also most other parts of ScummVM)

svn-id: r54285
2010-11-17 12:13:03 +00:00
Filippos Karapetis
8b14137c07 SCI: Some video related changes
- Now playVideo() is used when playing videos from the console (reducing
code duplication)
- Added support for 16bpp scaling in scale2x, so that the 16-bit color
Duck videos are scaled correctly

svn-id: r54210
2010-11-11 19:22:56 +00:00
Filippos Karapetis
8504e30dac SCI2: Added some currently unused code for drawing text on a buffer
svn-id: r54143
2010-11-08 16:12:58 +00:00
Willem Jan Palenstijn
e065a8a797 SCI: Fix blend rounding, style
svn-id: r54093
2010-11-05 12:33:07 +00:00
Johannes Schickel
8c997e2608 SCI: Add a default case to a switch statement to silence some compiler warnings.
svn-id: r54078
2010-11-05 00:10:26 +00:00
Willem Jan Palenstijn
51f7c4c525 SCI: Fix precedence error in comment
svn-id: r54071
2010-11-04 19:45:38 +00:00
Willem Jan Palenstijn
7e6aa1b4a9 SCI: Use gamma 2.2 for blending undithered colours
svn-id: r54069
2010-11-04 19:17:44 +00:00
Martin Kiewitz
bb716c23fa SCI: adding force to memorial area for SQ3/intro
makes the view getting fully undithered

svn-id: r54068
2010-11-04 18:37:03 +00:00
Max Horn
ba3e826872 SCI: Remove any use of printf
svn-id: r54037
2010-11-02 09:49:47 +00:00
Filippos Karapetis
3d431a215f SCI: Fixed a silly bug when restoring port rectangles. This uncovered a bug with the recently added port save/restore code
svn-id: r54015
2010-11-01 19:42:00 +00:00
Martin Kiewitz
548e67f413 SCI: fixing lf
(stupid msvc)

svn-id: r54014
2010-11-01 16:42:54 +00:00
Martin Kiewitz
eefa151d70 SCI: saving/restoring script created windows now
fixes "GfxPorts::kernelSetActive" error
based on code by [md5]

svn-id: r54012
2010-11-01 16:09:33 +00:00
Filippos Karapetis
dca3c8d8bf SCI: Play time related changes
- Added support for savegame play time
- Removed obsolete variables for calculating the play time (EngineState::gameStartTime and Console::_enterTime)
- Renamed some variables to camelCase

svn-id: r53974
2010-10-31 01:45:24 +00:00
Martin Kiewitz
bd7d9965e9 SCI: removing unneeded call
was a left-over from debugging

svn-id: r53857
2010-10-26 20:56:55 +00:00
Martin Kiewitz
d078a4d235 SCI: fix gfx issues when giving out cards hoyle4
bit 2 actually triggers special drawing of cels in sierra sci

svn-id: r53855
2010-10-26 20:19:17 +00:00
Martin Kiewitz
9af803f575 SCI: kAnimate bit 2 is hoyle 4 exclusive
adjusted comments about that and also renamed the bit, also added additional TODO, because hoyle 4 has special code that gets into action, when bit 0 is not set, but bit 2 is

svn-id: r53853
2010-10-26 16:21:00 +00:00
Martin Kiewitz
a877ba0026 SCI: little cleanup kAnimate
svn-id: r53852
2010-10-26 15:29:04 +00:00
Martin Kiewitz
f9cb635b58 SCI: fixing bug #3091767 by reverting r52820
interpreters should get checked for that hoyle 4 code, comment added

svn-id: r53851
2010-10-26 14:42:24 +00:00
Martin Kiewitz
adcab043a2 SCI: fix comment in kAddToPic
svn-id: r53828
2010-10-25 16:33:04 +00:00
Martin Kiewitz
b581a866a9 SCI: fixing obvious kAddToPic regression
caused by r53068, triggered bug #3092840 (SQ5 genetix lab scaled incorrectly when laying course) - thx to digitall for bisect

svn-id: r53775
2010-10-24 21:49:22 +00:00
Filippos Karapetis
6c47ca8253 SCI2/SCI2.1: Some changes to the screen drawing code.
- Implemented kernelUpdateScreenITem
- Changed the list of screen items to be a list of FrameoutEntry entries,
so that it doesn't get recreated on every frame

svn-id: r53744
2010-10-23 19:23:07 +00:00
Max Horn
3534cff8ef ALL: Fix indention (whitespaces -> tabs)
svn-id: r53738
2010-10-23 15:46:50 +00:00
Martin Kiewitz
ffbca0786d SCI: fixing iceman undithering door close-up
room 9 (go up right at the start)

svn-id: r53522
2010-10-15 22:19:27 +00:00
Martin Kiewitz
9cc51096c0 SCI: updating comment for r53515
svn-id: r53517
2010-10-15 21:16:36 +00:00
Martin Kiewitz
41e9691e86 SCI: fixing view-undithering for laura bow 1
(cupboards in room 43, just in the room to the left from the start)

svn-id: r53515
2010-10-15 21:12:42 +00:00
Filippos Karapetis
7cdddd5ffb SCI: Fixed code bugs from bug #3087872 - "SCI: Code analysis warnings"
svn-id: r53482
2010-10-15 12:40:24 +00:00
Matthew Hoops
07abe3d603 SCI: Add detection for Hoyle4 Mac
svn-id: r53397
2010-10-13 03:28:59 +00:00
Max Horn
7642cd002a SCI: Fix warning about uninitialized variable
svn-id: r53140
2010-10-10 22:25:30 +00:00
Filippos Karapetis
744a1829ac SCI: Added a check for magnifier cursor multipliers
Sierra SCI only allowed multipliers 1, 2 and 4, and errored out on unexpected
values, thus we do the same

svn-id: r53072
2010-10-08 13:33:54 +00:00
Martin Kiewitz
6dcf366b7d SCI: fixing mag cursor as far as possible
added TODO for real proper implementation
at least the alignment and content shown is now correct

svn-id: r53071
2010-10-08 12:41:03 +00:00