73510 Commits

Author SHA1 Message Date
Alexander Tkachev
05383532b7 GUI: Add drawLineClip() 2016-07-03 12:21:40 +02:00
Alexander Tkachev
2231de040f GUI: Add drawCircle() 2016-07-03 12:21:24 +02:00
Alexander Tkachev
f22d11953d GUI: Add drawSquareClip() 2016-07-03 12:21:09 +02:00
Alexander Tkachev
559ca37daf GUI: Add VectorRendererSpec::drawTriangleClip() 2016-07-03 12:20:37 +02:00
Alexander Tkachev
5868d6d471 GUI: Fix TabWidget's padding in layout_lowres.stx 2016-07-03 12:20:21 +02:00
Alexander Tkachev
0ae4409138 GUI: Add ThemeLayoutTabWidget 2016-07-03 12:20:03 +02:00
Alexander Tkachev
24963ac97d GUI: Fix Dialog's and TabWidget's reflowLayout() 2016-07-03 12:19:48 +02:00
Alexander Tkachev
421f9826c8 GUI: Hide scrollbar in ScrollContainerWidget when needed 2016-07-03 12:19:31 +02:00
Alexander Tkachev
40fa9b4de3 GUI: Fix ScrollContainerWidget's reflowLayout() 2016-07-03 12:19:15 +02:00
Alexander Tkachev
ac25acbccc GUI: Update ScrollContainerWidget 2016-07-03 12:18:52 +02:00
Alexander Tkachev
9c1eab6415 GUI: Fix ScrollContainerWidget look a bit 2016-07-03 12:18:34 +02:00
Alexander Tkachev
cccf6eed78 GUI: Add drawRoundedSquareShadowClip() 2016-07-03 12:18:18 +02:00
Alexander Tkachev
e04e13de33 GUI: Remove unnecessary debug output 2016-07-03 12:18:00 +02:00
Alexander Tkachev
31e528c070 GUI: Make ScrollContainerWidget do full redraw 2016-07-03 12:17:43 +02:00
Alexander Tkachev
425d963bd3 GUI: Fix ThemeItemTextData's dirty rectangle 2016-07-03 12:17:26 +02:00
Alexander Tkachev
b946ef8598 GUI: Make ScrollContainerWidget hide children 2016-07-03 12:17:01 +02:00
Alexander Tkachev
fca0f0ed34 GUI: Make PopUpWidget clip 2016-07-03 12:16:43 +02:00
Alexander Tkachev
8f2d35b0b8 GUI: drawRoundedSquareClip() 2016-07-03 12:16:26 +02:00
Alexander Tkachev
3d2730a0dd GUI: clippingRect propagated deeper 2016-07-03 12:15:51 +02:00
Alexander Tkachev
d7278cc48b GUI: Prepare button to be clipped 2016-07-03 12:14:45 +02:00
Alexander Tkachev
34af71a8ef GUI: Remove _clippingArea from ScrollContainer 2016-07-03 12:14:23 +02:00
Alexander Tkachev
9bf2d65dd2 GUI: Cleanup in ScrollContainer 2016-07-03 12:13:57 +02:00
Alexander Tkachev
49caaf77a1 GUI: Add ScrollContainer 2016-07-03 12:10:56 +02:00
Alexander Tkachev
08727857bc GUI: Use boss's x/y/w/h instead of clippingArea 2016-07-03 12:10:26 +02:00
Eugene Sandulenko
6a1dbf97b4 Merge pull request #772 from BenCastricum/bugfixes
MISC: Bugfixes
2016-07-03 11:56:16 +02:00
Colin Snover
57a53420c3 SCI32: Expose graphics throttling code
Controls that manage their own event loops and call frameOut
directly generally need to sleep in order to avoid 100% CPU,
just like the main VM event loop.
2016-07-02 22:29:28 -05:00
Colin Snover
da48b1bbea SCI32: Document _remapOccurred flag 2016-07-02 22:28:53 -05:00
Colin Snover
a4c059b864 SCI32: Improve accuracy of frameout throttler 2016-07-02 22:28:47 -05:00
Colin Snover
77991b7eac SCI32: Add const to getCurrentBuffer 2016-07-02 22:28:41 -05:00
Colin Snover
07b72c9fec SCI32: Document ScreenItem::_insetRect 2016-07-02 22:28:37 -05:00
Willem Jan Palenstijn
79b0309fd1 SCI32: Fix dropping events in kEditText 2016-07-02 22:56:53 +02:00
Willem Jan Palenstijn
4b72a42da9 SCI: Remove presumably long-outdated FIXME 2016-07-02 21:31:29 +02:00
Willem Jan Palenstijn
d643cb651f SCI: Remove unexpected side effect from ExecStack constructor
The ExecStack constructor set argp[0] to argc before. This is now moved
to the caller, to make this action more explicit.
2016-07-02 21:25:53 +02:00
Willem Jan Palenstijn
7f12638763 SCI: Remove unclear &rest handling
Modifying a value above the stack pointer doesn't seem to make much
sense. This was added in FreeSCI back in 2002 in a pair of commits that
did not make clear what the purpose of this was. My guess is that it
attempted to adjust argc, but failed. This wouldn't have been noticed
since argc was always set correctly by make_exec_stack_entry (which is
now the ExecStack constructor).
2016-07-02 21:25:53 +02:00
Willem Jan Palenstijn
08f1727b08 SCI: Improve kernel subfunction logging
ExecStack now stores the kernel call number as well as the subfunction.
This allows kStub and backtraces to log the actual subfunction called.

The kernel call number in ExecStack used to be stored in the
debugSelector field. It now has its own field, to avoid confusion.
2016-07-02 21:25:53 +02:00
Willem Jan Palenstijn
9f2fff4f66 SCI: Remove unneeded copy 2016-07-02 21:25:53 +02:00
Willem Jan Palenstijn
e243147f1e COMMON: Make MemoryWriteStreamDynamic private members protected 2016-07-02 21:19:23 +02:00
Ori Avtalion
cfeae98eb0 SCUMM: Add actor/object names to debug output 2016-07-02 12:22:50 +03:00
Colin Snover
948e448738 SCI32: Fix signed comparison warnings 2016-07-01 15:58:43 -05:00
Colin Snover
6c8661d144 SCI32: Fix bad rendering of subtitle backgrounds in Torin
The way dimensions of scaled screen items are calculated changed
over the lifetime of SSCI. In early low-resolution and
mixed-resolution games, scaled drawing needed to use at a global
cadence across the entire screen to ensure proper alignment, but
in later games (like Torin), local scaling of individual screen
items seems to be the way scaling is performed.
2016-07-01 15:54:27 -05:00
Colin Snover
b7dcf5f6c1 SCI32: Use better audio fading algorithm
Using the one from SCI2.1mid makes fades very slow because SDL has
a larger audio buffer than SSCI DOS. This new algorithm is based on
wall time so will always fade at the correct speed, although the
larger buffers will have a coarser granularity so the fades may
not be as smooth as in the original engine. If anyone cares, the
fade volume could be mixed into individual samples in `readBuffer`
instead of applying just once per complete buffer. SSCI did not
do this, however, so this implementation should be pretty accurate.
2016-07-01 12:43:39 -05:00
Colin Snover
e8552cf96c SCI32: Fix audio fading 2016-07-01 12:42:39 -05:00
Martin Kiewitz
17b3dc4584 SCI: Fix script patcher, so that it works on BE systems 2016-07-01 15:23:50 +02:00
Ben Castricum
da55658a80 SDL: Fix mouse trailing part of bug #7141
Overlays are shown with _currentShakePos offset too, so no need to
compensate the mousepointer position for overlays. This compensation
was done inconsistently in draw/undraw mouse causing the mouse trails.
2016-07-01 08:26:03 +02:00
Ben Castricum
8957bf4d7f SCUMM: reset ShakePos on loading, fixes one part of bug #7141 2016-07-01 08:25:28 +02:00
Ben Castricum
315ad620af SKY: change "savegame" into "saved game" 2016-07-01 07:34:28 +02:00
Ben Castricum
6a2059e13f SCUMM: Use exact strings in stringtable, fixes bug #6886
Similar (fix) to bug #6739
2016-07-01 07:33:36 +02:00
Filippos Karapetis
9cf3566e27 Merge pull request #766 from OmerMor/qfg3_bounds
SCI: Script patch for QfG3 giant tree bounds
2016-07-01 07:58:55 +03:00
Willem Jan Palenstijn
7edc5cd891 Merge branch 'remap' 2016-07-01 00:50:44 +02:00
Colin Snover
ca279390a3 SCI32: Fix broken Remap implementation
Remap would crash SCI2.1early games with 19 remap slots, and
did not actually work in most cases in SCI2.1mid+ games.

1. Avoid accidental corruption of values from the VM that may be
   valid when signed or larger than 8 bits
2. Fix bad `matchColor` function.
3. Remove unnecessary initialisation of SingleRemaps
4. Update architecture to more closely mirror how SSCI worked
5. Split large `apply` function into smaller units
6. Fix buffer overrun when loading a SCI2.1early game with remap
7. Warn instead of crashing with an error on invalid input (to
    match SSCI more closely)
8. Add save/load function
2016-07-01 00:18:32 +02:00