Commit Graph
1475 Commits
Author SHA1 Message Date
Filippos Karapetis c6e083bcf4 SCI: Simplify the SCI32 palette cycling code 2016-01-08 15:19:04 +02:00
Filippos Karapetis a119108835 SCI: Fix compilation 2016-01-08 11:09:29 +02:00
Colin Snover 8a1d48fc03 SCI32: Add kFrameOut stub code 2016-01-07 16:35:09 -06:00
Colin Snover aeee621e44 SCI32: Add initial support for palette cycling (kPalCycle) and fading (kPalFade)
Graphics palette code was rewritten between SCI1 and SCI2, so
SCI32 palette engine code has been moved to a separate GfxPalette32
class.
2016-01-07 16:35:09 -06:00
Ori Avtalion 85fa44c32d JANITORIAL: Remove #includes of list_intern.h 2016-01-02 15:32:38 +02:00
Martin Kiewitz 0dd760724e SCI32: split up SCI2.1 into EARLY/MIDDLE/LATE
- Detection works via signatures (couldn't find a better way)
- new kString subcalls were introduced SCI2.1 LATE
- kString now has signatures and is split via subcall table
- kString fix, so that KQ7 doesn't crash, when starting a chapter
- Sci2StringFunctionType removed, because no longer needed
2015-12-29 01:44:11 +01:00
Lars Skovlund 54acbdccc6 SCI: Fix obsolete comment 2015-12-28 10:28:27 +01:00
Lars Skovlund 9a3084d320 SCI: Fix when more than 10 font codes are used 2015-12-28 05:50:26 +01:00
Martin Kiewitz 431d33b119 SCI: use diff. PC98 word wrap tables for SCI0/01/1
also added even more comments about details of word wrapping
SCI0 (PQ2) and SCI1 (Brain/KQ5/SQ4) got their own table now
2015-12-14 00:20:56 +01:00
Martin Kiewitz 1161e3e89d SCI: add difference for SCI1 PC-98 word-wrapping
fixes small issue in Castle of Dr. Brain PC-98 Japanese
room 120, when looking at the table
Also added a few comments to Japanese word wrapping code
2015-12-13 22:56:42 +01:00
Martin Kiewitz d43c593e2e SCI: implement frame skipping for all transitions
should hopefully fix transitions being too slow on some systems
2015-08-02 01:32:26 +02:00
Willem Jan Palenstijn 30b5497e24 SCI: Clarify function name 2015-05-03 13:45:05 +02:00
Martin Kiewitz 031b9b8ced SCI: restore: clear screen when restoring
primarily to clear kPortrait graphics in kq6
when restoring during portrait animation
2015-04-26 15:50:12 +02:00
Martin Kiewitz bfba28c335 SCI: implement delayed restore via ScummVM menu
will delay restoring a saved game until the next
 kGetEvent or kWait
also implement aborting playback for kPortrait
 and kShowMovie
2015-04-26 09:08:46 +02:00
Martin Kiewitz 062c535d1b SCI: workaround sig pq2/demo:lb+hq1 migrated
- also kDisplay cleanup, removed dummy opcodes
- workarounds should be used instead
- fixed hq1 workaround entry, it seems we are able
   to read vocabulary now
2015-04-19 15:49:43 +02:00
Matthew Hoops 6dbdf03746 SCI: Fix Mac games with a height of 190
A regression from 72e6a9eeab
2015-01-07 00:29:50 -05:00
Martin Kiewitz 329c9386c6 SCI: improve kPortrait debug support + fix 2014-12-28 00:22:30 +01:00
Martin Kiewitz 381b7592a4 SCI: actor file format, add debug code kPortrait 2014-12-25 00:31:17 +01:00
Matthew Hoops 59cd015fc9 SCI: Silence a gcc warning 2014-12-24 10:38:28 -05:00
Martin Kiewitz 5594feff2a SCI: Phantasmagoria actually outputs 630x450 now
clipping of video output was required
2014-11-09 17:33:17 +01:00
Martin Kiewitz 72e6a9eeab SCI: some more work on 480x300 mac support 2014-11-09 12:54:41 +01:00
Martin Kiewitz 0fd16ef39f SCI: hopefully Japanese text wrapping is fine now
also removed duplicate entries in punctuation table
thanks to wjp
2014-11-06 20:45:24 +01:00
Martin Kiewitz eff78c4424 SCI: fix Japanese Space Quest 4 (intro + buttons)
At least SQ4 uses #j text prefix as signal for the
interpreter to not use the PC9801 hires font, but
to use the internal low res font instead
2014-11-04 22:01:21 +01:00
Martin Kiewitz fa7a6d473e SCI: GetClosest() bugfix the bugfix thx wjp 2014-11-02 19:37:23 +01:00
Martin Kiewitz 11ba447483 SCI: bugfix in GetLongest() for Japanese SQ4 2014-11-02 19:31:37 +01:00
Martin Kiewitz 5aae18feb8 SCI: text16 Shift-JIS font switch fixed
fixes Police Quest 2 Japanese intro and others,
where the internal SCI font was used and not
the Shift-JIS hires font
2014-11-02 13:08:33 +01:00
Martin Kiewitz 9d693b9a79 SCI: fix another bug in text16 / GetLongest() 2014-11-02 02:31:32 +01:00
Martin Kiewitz c4ca0a7de2 SCI: fix bug in text16 / GetLongest() 2014-11-02 02:16:00 +01:00
Martin Kiewitz c9e74d6d54 SCI: text16 GetLongest() changes fixes bug #5334
also fixes bug #5159
also fixes Japanese line wrapping (hopefully)
2014-11-01 23:36:29 +01:00
Martin Kiewitz 9561d5f6f8 SCI: revert r55034, fixes bug #6539
original bug wasn't solved properly
will reopen the original bug #5334
and figure out that one instead
2014-11-01 00:57:26 +01:00
Martin Kiewitz 5c91173337 SCI: color matching bug fix 2014-10-29 00:12:12 +01:00
Martin Kiewitz bb29cdc899 SCI: color matching - remove debug code 2014-10-28 22:41:14 +01:00
Martin Kiewitz 28967b617f SCI: properly reversed color matching thanks wjp 2014-10-28 22:37:57 +01:00
Filippos Karapetis 9783f0bbd9 SCI: Remove trailing whitespace 2014-10-28 16:17:06 +02:00
Martin Kiewitz f317e8c877 SCI: implement 8-bit color matching SCI1.1 bug
effectively fixes bug #6455
thanks to wjp and [md5]
2014-10-28 01:40:40 +01:00
Willem Jan Palenstijn da9ffe9dbc SCI: Add note on SSCI 11 FindColor bug 2014-10-27 23:04:25 +01:00
Filippos Karapetis 22aaf995ed SCI: Hopefully fix bug #6718 in LSL6 Polish
View flags are mainly used by LB2. The flag in the LSL6 view seems to
be garbage, so we ignore it
2014-10-18 16:03:50 +03:00
Filippos Karapetis bf7eef466d SCI: Wording 2014-10-13 12:26:21 +03:00
Filippos Karapetis ade33c4c0b SCI: Set the NS rect for all cases in GK1 (bug #6729) 2014-10-13 12:21:40 +03:00
Filippos Karapetis e7f023883e SCI: Extend hack to fix regression in GK1 2014-08-08 02:11:49 +03:00
Martin Kiewitz 924f1f1fee SCI: fix coordination translation for 480x300 mac 2014-06-08 23:10:17 +02:00
Martin Kiewitz cebb3e340a SCI32: fix crash during gabriel knight intro 2014-06-03 22:42:56 +02:00
Martin Kiewitz c1e895d799 SCI: fix regression introduced by 480x300 commit
fix EGA graphic corruption
2014-06-02 01:37:08 +02:00
Martin Kiewitz 94160a28e3 SCI: work on SCI0/01 Mac 480x300 scaling 2014-06-01 13:41:14 +02:00
Johannes Schickel daa8d57a86 ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf. 2014-05-27 02:04:07 +02:00
Matthew Hoops 740b6e8fbd IMAGE: Move all ImageDecoders to image/ 2014-02-28 00:27:28 -05:00
Johannes Schickel 8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Filippos Karapetis ed400d57fc SCI: Fix NS rect calculation in GK1 (and SCI32 in general)
This fixes the regressions caused by refactoring in SCI32. Thanks to
Timo Korvola for tracking down the issue and providing an initial
patch in bug #6452
2014-02-17 12:00:17 +02:00
D G Turner ac4087856f ALL: Remove optimization unstable code on checking for null after new.
These issues were identified by the STACK tool.

By default, the C++ new operator will throw an exception on allocation
failure, rather than returning a null pointer.

The result is that testing the returned pointer for null is redundant
and _may_ be removed by the compiler. This is thus optimization
unstable and may result in incorrect behaviour at runtime.

However, we do not use exceptions as they are not supported by all
compilers and may be disabled.

To make this stable without removing the null check, you could qualify
the new operator call with std::nothrow to indicate that this should
return a null, rather than throwing an exception.

However, using (std::nothrow) was not desirable due to the Symbian
toolchain lacking a <new> header.
A global solution to this was also not easy by redefining "new" as "new
(std::nothrow)" due to custom constructors in NDS toolchain and various
common classes.

Also, this would then need explicit checks for OOM adding to all new
usages as per C malloc which is untidy.

For now to remove this optimisation unstable code is best as it is
likely to not be present anyway, and OOM will cause a system library
exception instead, even without exceptions enabled in the application
code.
2014-01-15 02:36:19 +00:00
Martin Kiewitz 488375effa SCI: fix sci1early+ ega picture issues
also remove hacks for kq5ega + sq4ega
2013-12-26 16:44:51 +01:00