Commit Graph

6307 Commits

Author SHA1 Message Date
Matthew Hoops
740b6e8fbd IMAGE: Move all ImageDecoders to image/ 2014-02-28 00:27:28 -05:00
Filippos Karapetis
311471c857 SCI: Fix script bug #6485 - "SCI: MUMG EGA - kStrCpy error" 2014-02-19 03:03:11 +02:00
Johannes Schickel
8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Filippos Karapetis
715a5f9bbe SCI: Adapt the segment and offset getters/setters for SCI3
This is by no means complete, but it's a good start. It is based on an
earlier discussion on the subject, and it allows us to use the highest
two bits from the segment for offset addresses
2014-02-17 12:05:40 +02: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
Filippos Karapetis
9addca7287 SCI: Allow saving without a VERSION file in Jones
Apparently, the original does the same. Fixes bug #6535
2014-02-17 11:52:49 +02:00
Filippos Karapetis
474c45fdc6 SCI: Some minor cleanup 2014-02-17 11:48:34 +02:00
Filippos Karapetis
d92006188e SCI: Skip some still unsupported robot files in RAMA 2014-02-17 11:47:16 +02:00
Filippos Karapetis
d80f1adb31 SCI: Provide more accurate error messages for unsupported saved games 2014-02-17 11:46:24 +02:00
Filippos Karapetis
5b1631960e SCI: Fix bug #6536 - "SCI: JONES - top menu empty after loading from launcher" 2014-02-17 03:29:54 +02:00
Martin Kiewitz
f7d13415ee SCI: Remove LSL1 Spanish hack (to SCI1 MIDDLE)
fixes transitions not working properly (and
possibly other stuff), hack was added because
of bug #5219, strangely none of it occurs anymore
2014-01-30 21:11:15 +01:00
Martin Kiewitz
462f7c1c24 SCI: fix typo in getSciLanguageString CID 1003556 2014-01-29 20:45:10 +01:00
Martin Kiewitz
07568931ce SCI: fix null pointer access in logKernelCall
method was/is used for debugging only
CID 1003612
2014-01-27 23:31:40 +01:00
Martin Kiewitz
3f116d98bc SCI: fix negative array access in parseNodes
was used for debug command only
CID 1003543
2014-01-27 22:27:21 +01:00
Alyssa Milburn
bb1cd924f0 SCI: Fix breakage from f92df4c6 2014-01-27 10:10:35 +01: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
Willem Jan Palenstijn
34f300b3d5 SCI: Fix memory leak
Thanks to digitall for testing.
2014-01-06 21:37:31 +01:00
Willem Jan Palenstijn
0dfd742b21 SCI: Remove no longer necessary hack 2013-12-31 13:52:37 +01:00
Willem Jan Palenstijn
857d2e7bef SCI: Rewrite MIDI channel remapping
This adds MIDI state tracking to allow channels to be temporarily
unmapped and later re-mapped when there are free device channels
available again.
2013-12-31 13:52:15 +01:00
Willem Jan Palenstijn
f777e54df2 SCI: Reduce indentation depth 2013-12-31 13:42:58 +01:00
Martin Kiewitz
1191dc3243 SCI: remove undither option for SCI1early+ games 2013-12-26 17:39:53 +01:00
Martin Kiewitz
488375effa SCI: fix sci1early+ ega picture issues
also remove hacks for kq5ega + sq4ega
2013-12-26 16:44:51 +01:00
Martin Kiewitz
f369170043 SCI: floodfill reverted, was sci1early difference
fixes sq4 floppy properly
2013-12-26 11:39:01 +01:00
Martin Kiewitz
fd80030f76 SCI: portraits cleanup + show base picture at end 2013-12-24 23:59:22 +01:00
Martin Kiewitz
a4bde6dade SCI: injecting "dual" view into King's Quest 6 CD
for dual mode (text+speech at the same time)
2013-12-24 23:31:17 +01:00
Martin Kiewitz
a72d7d3932 SCI: injecting "dual" view into Laura Bow 2 CD
for dual mode (text+speech at the same time)
2013-12-24 22:24:42 +01:00
Martin Kiewitz
6957c5bce0 SCI: workarounds / new bug ids in comments 2013-12-24 15:20:21 +01:00
Martin Kiewitz
8b3efba40f SCI: change floodfill fix for sq4
behaviour wasn't changed in SCI1, instead it seems that SSCI draws overlays to separate memory and then copies them over. Previous commit caused regression in qfg1vga (funny room)
2013-12-24 10:39:42 +01:00
Martin Kiewitz
c2a2a760e9 SCI: change floodfill to fix sq4 ship taking off
fixes bug #6446
2013-12-23 23:41:35 +01:00
Martin Kiewitz
7664add3d2 SCI: readded kq6 stepmother patch for dual mode 2013-12-22 22:30:11 +01:00
Martin Kiewitz
3514f41302 SCI: LB2CD patch: remove audio mode reset code
on init/reset the game resets the audio mode to "speech", which would make it impossible to watch the intro using "dual mode"
2013-12-22 21:15:40 +01:00
Martin Kiewitz
d5331ab923 SCI: improved lb2+kq6 patches (new speech state)
adds a third button state to the game menu
this state is "dual mode" (audio+text at the same time)
currently uses the "speech" graphic
CD versions of Laura Bow 2 + King's Quest 6 will now always get patched
2013-12-22 20:46:54 +01:00
Martin Kiewitz
68567ec2b1 SCI: improved one of the kq6 audio+text patches
KQPrint windows now get closed automatically when in audio+text mode
2013-12-21 23:54:35 +01:00
Martin Kiewitz
d6dafa822a SCI: final script patcher cleanup 2013-12-20 16:05:36 +01:00
Martin Kiewitz
e31b2bb1f5 SCI: another kq6 patch for text+audio
fixes cassima textboxes during the ending
2013-12-20 14:41:26 +01:00
Martin Kiewitz
0ba254475b SCI: script patcher comment adjust 2013-12-20 01:20:52 +01:00
Martin Kiewitz
322c5530dc SCI: even more script patcher cleanup 2013-12-20 01:17:55 +01:00
Martin Kiewitz
1d77c9f0cf SCI: script patcher cleanup 2013-12-20 01:01:26 +01:00
Martin Kiewitz
a4f08654b3 SCI: kq6 script patch to fix "drink me" bottle
fixes bug #5252
2013-12-19 22:40:18 +01:00
Martin Kiewitz
60de25fb69 SCI: debug code to print out kq6 raw lipsync data 2013-12-18 20:51:50 +01:00
Martin Kiewitz
edd00bec67 SCI: another kq6 patch for audio+text support
fixes dialog of man in robe complaining about mints in pawn shop
2013-12-18 19:02:35 +01:00
Martin Kiewitz
997887a368 SCI: patch SQ4 bug with throwing at sequel police
SQ4 floppy only, Sierra's official patch didn't fix it properly
2013-12-15 23:36:39 +01:00
Martin Kiewitz
cb7f258a12 SCI: pq1vga script patch to fix map restore bug
fixes bug #5016
2013-12-15 17:51:13 +01:00
Willem Jan Palenstijn
78e7f5b51c SCI: Make second pass when loading objects
This is because objects may be loaded before their base objects,
which causes initBaseObject to fail for SCI0.

Script::initializeObjectsSci0 already did this, but
SegManager::saveLoadWithSerializer did not when calling
initBaseObject after loading a savegame.
2013-12-14 14:19:33 +01:00
Matthew Hoops
70d3610f30 SCI: Add detection for Torin Mac 2013-12-11 20:28:50 -05:00
Martin Kiewitz
693d5e6625 SCI: rave support (KQ6 hires portrait lip sync)
Thanks to wjp and [md5] for helping
2013-12-11 08:25:23 +01:00
Filippos Karapetis
fa2ea4fc61 SCI: Add handling for the RAVE resource type, found in KQ6CD
This contains the sync data in the Windows version of KQ6CD.
Note that currently the sync36 resource is 2 bytes bigger
(it contains 2 bytes from the RAVE resource). Some test code
has also been added to dump the RAVE sync resources
2013-12-10 01:41:15 +02:00
Johannes Schickel
19dfe4bcbb SCI: Revert "+xx" to "+ xx" changes in 6f2e88136b.
After discussing with m_kiewitz that these have been intentional.
2013-12-08 19:37:47 +01:00
Johannes Schickel
6f2e88136b SCI: Fix formatting in engine/script_patches.cpp.
Powered by astyle and some manual work to avoid breaking multiple statement
lines into multiple lines consisting of single statements.
2013-12-08 18:59:18 +01:00
Johannes Schickel
fb3aac8c31 SCI: Make all script patch related global data static. 2013-12-08 18:51:29 +01:00