Commit Graph
86814 Commits
Author SHA1 Message Date
Martin Kiewitz 5484f0bc58 AGI: Add detection+workaround for endofloop+motion at the same time
Detects when end.of.loop + motions are used on the same screen
object at the same time, which would have resulted in flag
corruption in the original interpreter. We detect this
situation now, show a warning and disable the cycler in case
cycler was activated first.
This solves a new issue in kq1, when grabbing the eagle in room
22, that was previously hidden just like in the original AGI.
Fixes bug #7046
2016-02-19 10:34:37 +01:00
Paul Gilbert ad8450209a TITANIC: Implement overall game saving code 2016-02-18 23:07:01 -05:00
Colin Snover 1c4778d571 SCI: Minor cleanup
1. Reorder member initialisations to match class member order
2. Use #pragma mark instead of comments for annotating sections
3. Remove useless >=0 checks on unsigned types
2016-02-18 21:11:06 -06:00
Paul Gilbert e2aca904ec TITANIC: Implement saving methods for List and ListItem 2016-02-18 22:05:51 -05:00
Paul Gilbert 9b173df32f TITANIC: Implement CSaveableObject saving methods 2016-02-18 21:12:22 -05:00
Paul Gilbert c4a0d4923a TITANIC: Implement lots of SimpleFile methods 2016-02-18 20:35:38 -05:00
Martin Kiewitz cca9fc918f AGI: Save screen object loop_flag
loop_flag was previously vt.parm1, which was shared for multiple
uses. Was split up during graphics rewrite in commit
8a595e7771

Is indirectly part of bug #7046. Saving, restarting ScummVM and
restoring right after grabbing the eagle resulted in the glitch
not happening (which was of course an inaccuracy anyway). This
was caused by AGI currently not saving/restoring the loop_flag.
Needs to get further figured out what's exactly happening
internally and if this issue was just hidden by the shared
vt.parm1 in previous versions. If triggered, it would have
just set another pseudo-random flag on end-of-loop.
2016-02-19 02:00:35 +01:00
Filippos Karapetis c1dacbe65d SCI: Use American English, like we do in other parts of ScummVM
This replaces "colour" to "color"
2016-02-19 02:50:16 +02:00
Filippos Karapetis 9aac0bdaaa SCI: Compare offsets in the Plane comparison operator
Fixes a crash in the first scene of Torin's Passage
2016-02-19 02:43:55 +02:00
Paul Gilbert 7818eecaff TITANIC: Split SimpleFile and CompressedFile into different files 2016-02-18 19:40:12 -05:00
Filippos Karapetis b9430d7c72 GRAPHICS: Silence some false positive MSVC warnings 2016-02-19 02:38:30 +02:00
Filippos Karapetis 52f11b1357 SCI: Use proper constification in overriden base class functions 2016-02-19 02:37:35 +02:00
Filippos Karapetis 62ae61dd22 SCI: Silence false positive warnings by MSVC 2016-02-19 02:36:12 +02:00
Paul Gilbert 1e4de9a323 TITANIC: Starting to create classes for project item hierarchy 2016-02-18 19:29:13 -05:00
Colin Snover 3e820ee9b3 SCI: Fix bad positioning of relatively positioned pic cels 2016-02-18 13:18:03 -06:00
Colin Snover 5a1fa5efa1 SCI: When rewriting lookup tables, also actually record what scale they are for 2016-02-18 13:18:03 -06:00
Colin Snover 766cf6cee7 SCI: Fix too-fast rendering
Now that the renderer is loading resources without spinning CPU time
on decompression every frame, it becomes apparent that kFrameOut is
spammed constantly by the interpreter and needs to be throttled to
ensure that transitions and fades work properly.
2016-02-18 13:18:03 -06:00
Colin Snover 03e3f2c68c SCI: Fix some rect off-by-ones 2016-02-18 13:18:03 -06:00
Colin Snover 3c9b930506 SCI: Add comments to plane code 2016-02-18 13:18:03 -06:00
Colin Snover 2f17ba2b0a SCI: Increase LRU resource cache for SCI32 games
A single picture in SCI32 is often larger than the 256KiB limit,
meaning that the cache is useless for these games -- which is bad,
because the renderer works directly off raw resource data so it
must be decompressed and in-cache for rendering performance to be
acceptable.
2016-02-18 13:18:03 -06:00
Colin Snover bb82350630 SCI: Fix broken LRU debugging 2016-02-18 13:18:02 -06:00
Colin Snover 775c39102a SCI: Implement templated drawing subroutines 2016-02-18 13:18:02 -06:00
Colin Snover 2c0e64fdaf SCI: Add short-lived kSetFontRes kernel function
kSetFontRes didn't exist in SCI2, showed up in SCI2.1early,
then was replaced with kFont subop 1 in SCI2.1mid.
2016-02-18 13:18:02 -06:00
Colin Snover 20ccad80bf SCI: WIP GfxText32 code
This at least prevents SQ6 from crashing when going into the
introduction
2016-02-18 13:18:02 -06:00
Colin Snover 3bddd869ab SCI: Build kernel table for ScrollWindow and stub seen functions
Signatures in subops table are correct for length but unknown
types are marked as . instead of the correct type.
2016-02-18 13:18:02 -06:00
Colin Snover b829e48228 SCI: Remove wrong comments in kernel.h and break apart logical sections 2016-02-18 13:18:02 -06:00
Colin Snover 37539625d7 SCI: Fix palette equality check 2016-02-18 13:18:02 -06:00
Colin Snover 75ccabc325 SCI: Implement accurate renderer architecture for SCI32 2016-02-18 13:18:02 -06:00
Colin Snover 4ba0ff8deb COMMON: Add convenience method to Common::Rational for 1:1 ratios
For SCI engine games, ratios may not be normalised and so to avoid
extra scaling, there needs to be a way to simply check whether a
ratio is 1:1.
2016-02-18 13:18:02 -06:00
Colin Snover 7d54f0aaaf COMMON: Add methods for inserting and erasing with iterators
This provides improved feature parity to Common::List and is used
in SCI32 engine.
2016-02-18 13:18:01 -06:00
Eugene Sandulenko 1a542ae82c AGI: Add missed comma 2016-02-18 17:43:38 +01:00
Martin Kiewitz ed92ccde23 AGI: Apple IIgs time delay override MH1 completed
+ Disable hide.mouse for MH1 Apple IIgs
2016-02-18 16:55:49 +01:00
Johannes Schickel 22b453c4b2 OPENPANDORA: Fix op-pnd target when no TERM is set. 2016-02-18 11:44:53 +01:00
Eugene Sandulenko 0d369f716e METAENGINE: Hint the compiler that we intentionally ignore pollEvents() return value 2016-02-18 10:30:35 +01:00
Eugene Sandulenko 51dca83011 WAGE: Safety check on parsing main game file 2016-02-18 10:30:34 +01:00
Eugene Sandulenko c3bae66b56 WAGE: Plug memory leak 2016-02-18 10:30:34 +01:00
Eugene Sandulenko b01fb9f3f3 WAGE: Plug memory leak 2016-02-18 10:30:34 +01:00
Eugene Sandulenko a2dcddc06d WAGE: Safer string concatenation 2016-02-18 10:30:34 +01:00
Eugene Sandulenko ab9e2fdca3 WAGE: Initialize class variables 2016-02-18 10:30:18 +01:00
Martin Kiewitz 4d85aa193c AGI: Apple IIgs time delay override KQ4 completed 2016-02-18 02:01:51 +01:00
Martin Kiewitz 736d7cd533 AGI: Make SQ2 Apple IIgs get a AGI 2.917 equivalent and not 2.936
Solves the priority issues at the end, because the set.pri.base
call is now rejected by us. The IIgs interpreter seems to feature
177 kernel calls, but the last few are not what we expect them to
be. It seems set.pri.base was discard.sound for this interpreter.
It seems it was cleaned up for kq4. That one actually uses
dynamic priority bands and it's working properly.

Fixes bug #7034
2016-02-17 21:40:37 +01:00
Johannes Schickel fd688b73d7 SDL: Work around bug #7038 by limiting mode reset to Win32.
Bug is: "IRIX: X BadMatch when trying to start any 640x480 game".

40e019efd4 introduced resetting the pixel depth
when unloading modes for SDL output. This was required to make mode listing
for OpenGL work on Win8+.

This causes issues on non-Win32 platforms though. SDL might not give us a valid
a pixel depth, causing the resetting to fail. A particular example is X11 on
IRIX, when only 16bit output modes work. Initially SDL tells us that the pixel
depth is 32bit. Trying to set this up causes a crash though.

Since there is no way to validate SDL's return value, we simply limit the reset
to platforms where it is actually required, i.e. Win32.
2016-02-17 16:17:39 +01:00
Johannes Schickel 4145109937 AMIGAOS: Fix native build breakage caused by indented comments in amigaos.mk.
As pointed out by Raziel^.
2016-02-17 12:37:36 +01:00
Hubert Maier 89e9a36af5 AMIGAOS: Fix 'amigaosdist' for in-tree builds on AmigaOS.
AmigaOS's Rexx interpreter seems to have problems with './' in the path to the
Rexx script. We work around this by copying it to the cwd and using it from
there.

Manual merge of PR #669 "AMIGAOS: Fix amigaos.mk to make the rexx script work
on local builds".
2016-02-17 11:58:48 +01:00
Thierry Crozat a7eed85f3b I18N: Regenerate translations data file 2016-02-16 22:08:21 +00:00
Mikel Iturbe Urretxa f709ad2620 I18N: Update Basque translation 2016-02-16 22:06:50 +00:00
Eugene Sandulenko 7bbe1a94c1 WAGE: Implement sound decoder 2016-02-16 21:41:41 +01:00
Eugene Sandulenko 57449d32d4 WAGE: Moved Sound class definition to sound.h 2016-02-16 21:41:41 +01:00
Eugene Sandulenko a1e5c5a8cc WAGE: Moved sound code stubs to sound.cpp 2016-02-16 21:41:41 +01:00
Martin Kiewitz 5c1eb40bd3 SHERLOCK: RT: Only see German Sharp-S char as printable
And not the full 0xE0 -> 0xFF range
Fixes bug #7042
2016-02-16 19:49:38 +01:00