Commit Graph
111 Commits
Author SHA1 Message Date
Martin Kiewitz 684afb6236 SCI: add scaling support to kAddToPic
fixes laurabow2 bug #3041226

svn-id: r51952
2010-08-10 15:54:34 +00:00
Martin Kiewitz 197f6c2228 SCI: adding workaround for kq5
when giving the tambourine to the monster - bug #3041262

svn-id: r51950
2010-08-10 13:18:13 +00:00
Martin Kiewitz dc08c733db SCI: adding jones/talkie speed throttler view
fixes bug #3038989, regression of r51544

svn-id: r51714
2010-08-03 20:46:28 +00:00
Martin Kiewitz 09f4562551 SCI: adding non-scaleable view capability
fixes laura bow 2 (especially floppy but CD is also affected somewhat by this)

svn-id: r51660
2010-08-02 21:04:09 +00:00
Martin Kiewitz 3e29e9ffae SCI: adding detection for benchmark views
and enable speed throttler when just one regular cel was drawn, fixes eco quest 2 ego getting light-speed fast in village (bug #3036805)

=this could cause regressions like disabled animations in games=

svn-id: r51544
2010-07-31 16:41:42 +00:00
Martin Kiewitz e40ee138af SCI: kAnimate - limit update of nsRect when scaled
only set nsRect when being drawn later (scaled only), fixes sq5 instant-death in elevator shaft

svn-id: r51534
2010-07-31 08:05:23 +00:00
Martin Kiewitz 5dac7ba6ba SCI: fix kAddToPic called with view data
and adding workaround for pq2 when showing windows with pictures
change to kAddToPic fixes bad coordinates of cels when restoring the game (should also fix lsl2)

svn-id: r51526
2010-07-31 00:48:03 +00:00
Johannes Schickel fd0f5696a5 SCI: Add comment about stability requirements in makeSortedList.
svn-id: r51523
2010-07-30 23:24:45 +00:00
Martin Kiewitz 6b63c951eb SCI: updating screen within kAnimate as well - fixes pseudo hang in eq1 credits (bug #3036154)
svn-id: r51459
2010-07-29 10:48:54 +00:00
Martin Kiewitz 97b1cd34cf SCI: sci1.1 priority bands now changing in kDrawPic
fixes qfg3: right guard on top of the palace having wrong priority
fixes sq5 and all sorts of sci1.1 games: when loading wrong priority for some actors that fixed itself after one frame

svn-id: r51397
2010-07-27 23:20:43 +00:00
Filippos Karapetis aa15d5fcd1 SCI: Remove sanity check introduced in rev 51154. When a node is deleted via kDeleteKey, the successor is set to NULL, thus list processing stops (which is what SSCI is doing).
svn-id: r51157
2010-07-22 18:14:43 +00:00
Filippos Karapetis 91e909a25c SCI: Added a sanity check for rev 51152. If a node has been deleted, it shouldn't have a successor node
svn-id: r51154
2010-07-22 17:53:32 +00:00
Filippos Karapetis 634d959897 SCI: Fixed the crash in LSL2, room 42 (when arriving at the island). kAnimate may refer to unfrozen objects which have been deleted, thus handle that case accordingly.
svn-id: r51152
2010-07-22 17:25:21 +00:00
Max Horn b743fcc9f5 SCI: Rename listEntry -> 'it' for better readability
svn-id: r50498
2010-06-29 14:54:47 +00:00
Max Horn c8dca083d8 SCI: Simplify List::iterator usage in GfxAnimate
svn-id: r50497
2010-06-29 14:54:31 +00:00
Max Horn 32b69ccd9d SCI: Simplify GfxAnimate code, get rid of _listData
svn-id: r50496
2010-06-29 14:54:15 +00:00
Martin Kiewitz bc77740306 SCI: kAnimate resetting _lastCastCount all the time
svn-id: r50453
2010-06-28 18:07:40 +00:00
Max Horn 9f48a37671 SCI: Add const qualifiers to many GfxView methods and their return values.
This helps to ensure proper data encapsulation.
Also reformatted some overlong comments to 80 chars per line, and
fixed some other code formatting issues.

svn-id: r50421
2010-06-28 11:20:14 +00:00
Willem Jan Palenstijn af755b0b3d Further improve readability
svn-id: r50345
2010-06-26 21:36:25 +00:00
Willem Jan Palenstijn caded4f892 Improve readability
svn-id: r50340
2010-06-26 20:28:42 +00:00
Filippos Karapetis aedc77f0bd When loading a game, stop all running VMs recursively, and also stop kAnimate's current recursion. This fixes the invalid execution stack frame in SQ1, when loading from the death screen after dying from the acid drops in Kerona. This should also fix the invalid hunk pointers, thus the warning about invalid hunk pointers has been turned into an error, as it shouldn't occur anymore
svn-id: r50277
2010-06-25 17:25:00 +00:00
Martin Kiewitz 51ba34df0e SCI: we extended the showBits() rect all the way depending on where the object moved, fixed - fixes kq6cd flickering coin and pq1 flickering locker issue
svn-id: r50190
2010-06-23 20:13:33 +00:00
Filippos Karapetis 0a102981f0 Moved the SelectorCache struct inside selector.h, where it belongs, and fixed some header dependencies in the process
svn-id: r50183
2010-06-23 15:23:37 +00:00
Martin Kiewitz c1d3fd670c SCI: global scaling implemented (hopefully, i'm not sure if it works 100% :P) thx to waltervn for telling me the vocab 994 stuff used for disassembly
svn-id: r50181
2010-06-23 14:06:31 +00:00
Martin Kiewitz eeba2812c1 SCI: adding some more global scaling code, adding vanishingY and vanishingX as selectors
svn-id: r50180
2010-06-23 13:42:09 +00:00
Martin Kiewitz 3bc011357b SCI: some initial work on global scaling
svn-id: r50179
2010-06-23 12:58:14 +00:00
Martin Kiewitz 7ce739f51b SCI: kPalVary - cleanup and some more code
svn-id: r50081
2010-06-20 15:01:31 +00:00
Filippos Karapetis 680f7c897a Fixed a problem in kAnimate which occurred when a list was modified by a call (e.g. in KQ1 demo, PQ2)
svn-id: r50022
2010-06-18 15:40:18 +00:00
Filippos Karapetis 01d53a6216 Disabled two cases of findObjectByName() in SCI0 early games
svn-id: r49639
2010-06-13 22:01:10 +00:00
Filippos Karapetis eb4ec596cd Use the SELECTOR() macro for readability
svn-id: r49563
2010-06-10 09:18:57 +00:00
Filippos Karapetis 536b2614e8 Globals from script 0 are now initialized in script_init_engine(), and are accessed from the relevant variables pointer. Removed direct reference to script 0 from the engine state
svn-id: r49536
2010-06-09 09:17:48 +00:00
Filippos Karapetis 67de5b1bd3 Mass renaming of selector-related functions, and removed some defines which were just cloaking functions with a different name
- GET_SEL32 -> readSelector
- GET_SEL32V -> readSelectorValue
- PUT_SEL32 -> writeSelector
- PUT_SEL32V -> writeSelectorValue
Also, changed some selector-related function names and variables to CamelCase

svn-id: r49317
2010-05-29 23:37:15 +00:00
Martin Kiewitz e9db62b272 SCI: sort according to original order in kAnimate, when y and z are the same - fixes iceman half-open compartment in room 35
svn-id: r49189
2010-05-24 15:39:30 +00:00
Martin Kiewitz 59a255226f SCI: SCI_SCREEN_MASK_* now GFX_SCREEN_MASK_*, using enum - added new enum GFX_SCREEN_UPSCALED_*
svn-id: r49039
2010-05-15 08:57:13 +00:00
Martin Kiewitz beba3bf8a4 SCI: animate cleanup
svn-id: r48876
2010-04-30 15:08:51 +00:00
Martin Kiewitz 194bdd9b83 SCI: reverting r48787 port updates were actually introduced (heard that before) in SCI1. I used the outdated wiki before and that one lists qfg2 and xmas90ega being SCI01. They are actually SCI1
svn-id: r48789
2010-04-24 21:45:17 +00:00
Martin Kiewitz cbd8faa82e SCI: r48786 port updates were actually introduced during SCI01, qfg2 and xmas90ega only. We enable port updates only for non-multilingual SCI01 games now - fixes percentage bar for qfg1 japanese as well
svn-id: r48787
2010-04-24 20:41:26 +00:00
Martin Kiewitz 0422560c5c SCI: beginUpdate()/endUpdate() of ports were introduced inside kAnimate() in SCI01 - fixes percentage bar not showing up in qfg1ega
svn-id: r48786
2010-04-24 20:08:03 +00:00
Filippos Karapetis dd6fbd887d Added a sanity check for the current list node inside GfxAnimate::invoke(). This should fix the crash in LSL2 as described in patch #2987942, without adding additional lookups
svn-id: r48670
2010-04-16 12:58:14 +00:00
Max Horn e45f0f309a SCI: Remove EngineState::_kernel, use SciEngine::_kernel instead
svn-id: r48050
2010-02-13 17:45:40 +00:00
Max Horn f86618f92b SCI: Add a 'SELECTOR' macro
svn-id: r47918
2010-02-05 22:55:18 +00:00
Martin Kiewitz 71fb77a5aa SCI: priority band specific stuff now gets called directly w/o SciGui
svn-id: r47916
2010-02-05 22:20:46 +00:00
Martin Kiewitz f8f490c565 SCI: calling most of the cursor functions directly via _gfxCursor instead of SciGui/32
svn-id: r47903
2010-02-05 14:48:51 +00:00
Martin Kiewitz 6c204cc890 SCI: renamed class Cursor to GfxCursor
svn-id: r47902
2010-02-05 13:05:26 +00:00
Martin Kiewitz cabd18da9e SCI: renaming class View to GfxView
svn-id: r47891
2010-02-04 22:17:58 +00:00
Martin Kiewitz c336204a3f SCI: renaming Transitions to GfxTransitions
svn-id: r47890
2010-02-04 21:04:47 +00:00
Martin Kiewitz 72c2d360f7 SCI: renamed SciPalette to GfxPalette, Screen to GfxScreen, GfxPalette is now called directly w/o SciGui
svn-id: r47752
2010-01-31 16:21:11 +00:00
Martin Kiewitz c991a5bceb SCI: renamed SciGuiAnimate to GfxAnimate, moved code from SciGui into this class, now getting called directly
svn-id: r47751
2010-01-31 15:07:36 +00:00
Martin Kiewitz 7929255cd9 SCI: cleaned up graphics classes, removed gfx&windowmgr, added gfxports, gfxcompare, gfxpaint16, gfxcache. kernel uses gfxports directly w/o going through SciGui
svn-id: r47745
2010-01-31 12:35:15 +00:00
Max Horn 4ffec28103 SCI: Move selector stuff to new header; reorder k_argc & k_argp param of invoke_selector
svn-id: r47665
2010-01-29 11:03:54 +00:00