Commit Graph

42903 Commits

Author SHA1 Message Date
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
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
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
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
Martin Kiewitz
a8ede10863 AGI: Added comment about artificial delay sq2 scene 2016-02-16 19:27:37 +01:00
Martin Kiewitz
591e0522b9 AGI: Set.pri.base comments added (Apple IIgs KQ3+SQ2)
For KQ3 the calls are currently blocked b/c interpreter version
For SQ2 they aren't, which causes a few priority issues at the end
2016-02-16 16:51:43 +01:00
Eugene Sandulenko
bd7ef4143d WAGE: Enable required menu items to allow game restart 2016-02-16 11:32:48 +01:00
Eugene Sandulenko
a6120d8b27 WAGE: Started post-gameover code implementation 2016-02-16 11:32:47 +01:00
Eugene Sandulenko
9b77e5c890 WAGE: Remove debug code 2016-02-16 11:32:47 +01:00
Eugene Sandulenko
2ccbfd2ede WAGE: Fix random direction choosing logic 2016-02-16 11:32:47 +01:00
Martin Kiewitz
b31990246e AGI: Added console command to disable automatic saves
Helps creating various saved games for Mixed Up Mother Goose
2016-02-16 05:36:53 +01:00
Martin Kiewitz
562649c7c0 AGI: Change how VM timer vars are handled
Instead of directly converting play time to VM timer vars,
we only adjust VM timer vars according to play time seconds delta.
This is needed for at least Mixed Up Mother Goose. The game
sets the VM "second" variable to 0 and then uses it for syncing
the text to the songs. We even adjust second calculation, so
that the timing should always be the same and not depend on
basically luck (seconds may wrap right after setting it, because
internal cycles counter is not changed).
2016-02-16 03:18:10 +01:00
Eugene Sandulenko
f8119dea7c WAGE: Added Midnight Snack and Time Bomb detection 2016-02-15 21:06:47 +01:00
Eugene Sandulenko
2753571155 WAGE: Fix input string after script execution 2016-02-15 21:06:46 +01:00
Eugene Sandulenko
f06263a1d0 WAGE: Added Magic Rings detection 2016-02-15 21:06:46 +01:00
Eugene Sandulenko
b007821d36 WAGE: Move detection tables to separate file 2016-02-15 21:06:46 +01:00
Eugene Sandulenko
6c895643aa Merge pull request #667 from a-detiste/master
JANITORIAL: Typos detected with lintian & grep
2016-02-15 18:31:50 +01:00
Alexandre Detiste
6c298e964f JANITORIAL: Typos detected with lintian & grep 2016-02-15 18:27:02 +01:00
Paul Gilbert
eef0b11feb SHERLOCK: RT: Implement saving journal to file 2016-02-14 23:51:45 -05:00
Martin Kiewitz
123b934fab SHERLOCK: RT: Replace accent char with \202 in fixed text 2016-02-15 02:29:38 +01:00
Martin Kiewitz
1bd06d88f9 SHERLOCK: RT: Make darts game properly multilingual
Hopefully all issues were caught
Also added a "wait for keypress" right after result of latest dart
throw is shown like in the original, so that dart results are
not immediately cleared.
Also added support for "1 point" instead of writing "1 points"
2016-02-15 02:26:20 +01:00
Paul Gilbert
64d40caecd SHERLOCK: RT: Fix starting different darts game modes 2016-02-14 18:10:20 -05:00
Martin Kiewitz
873ba15b66 AGI: Changes to vm var seconds heuristic (delay loop detection)
- small fix (forgot to reset the hit counter)
- rename methods
- added more information about PQ1 in comment
2016-02-14 23:05:28 +01:00
Martin Kiewitz
7b75936f56 AGI: Add heuristic to detect delay loops within scripts
And in that case poll events, delay for a few milliseconds and
update screen.
This somewhat worked before the graphics rewrite because of
a timer hack.
This one tries to detect actual inner loops.
Happens in at least Police Quest 1 when playing poker.
2016-02-14 22:43:52 +01:00
Eugene Sandulenko
aa6ae7ac35 SCUMM: Fix warning 2016-02-14 17:51:30 +01:00
Eugene Sandulenko
7d2d5e371d GOB: Fix warning 2016-02-14 17:35:09 +01:00
Eugene Sandulenko
effd02bdc1 WAGE: Fix uninit members 2016-02-14 17:33:52 +01:00
Eugene Sandulenko
bd01771720 WAGE: Fix warning 2016-02-14 17:30:13 +01:00