Commit Graph
614 Commits
Author SHA1 Message Date
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
Filippos Karapetis 493350e905 SCI2.1: Added a dummy function for kRobot (with some info on its parameters), assigned IsOnMe to OnMe (needs verification, but seems to be correct) and changed kSave(8) to return nonzero. The menu of the Phantasmagoria demo is now shown, together with its creepy music :)
svn-id: r47648
2010-01-28 19:57:14 +00:00
Martin Kiewitz 90712388f8 SCI: added workaround for laura bow 2 game menu (same issue as in pharkas)...sigh
svn-id: r47611
2010-01-27 21:33:51 +00:00
Martin Kiewitz 155660c443 SCI: changed the pharkas workaround to also cover pharkas-floppy demo
svn-id: r47606
2010-01-27 19:28:13 +00:00
Matthew Hoops 12569a5f32 Only reshow the cursor after playing a video if it was originally showing beforehand. This fixes the GK1 demo menu.
svn-id: r47602
2010-01-27 16:54:58 +00:00
Martin Kiewitz e0d05a482c SCI: changed flags (uint16) to force (bool) for set/merge palette methods
svn-id: r47578
2010-01-26 22:45:52 +00:00
Walter van Niftrik 473d8b7c2f SCI: Add string support for odd-offset pointers into reg_t-based segments.
svn-id: r47572
2010-01-26 19:51:08 +00:00
Martin Kiewitz fd5e26806e SCI: dont fix line color for amiga 32 color
svn-id: r47561
2010-01-25 20:46:09 +00:00
Martin Kiewitz ba7eb79074 SCI: removed EGA mapping for amiga games, cause changing K_GRAPH_GET_COLORS_NR to support amiga also fixes it - also fixes other odd issues like the ones in kq5 and castle of dr. brain/sq1 (thx. to waltervn for finding this out)
svn-id: r47560
2010-01-25 20:44:13 +00:00
Walter van Niftrik e7e9006122 SCI: Fix list control scrolling in Jones EGA and VGA.
svn-id: r47511
2010-01-24 18:57:23 +00:00
Filippos Karapetis 5b4fcfdbcb Added some skeleton code for kPalVary()
svn-id: r47485
2010-01-23 21:33:24 +00:00
Martin Kiewitz e99adedac2 SCI: separate fix function for kDrawControl rects
svn-id: r47462
2010-01-23 11:00:24 +00:00
Martin Kiewitz 81e85b3186 SCI: dont swap coordinates on rects when both are "wrong", will fix button placement and gfx corruption when challenging jones (caused by duplicate buttons having lower right 0, 0) - function needs some more work
svn-id: r47446
2010-01-22 23:02:33 +00:00
Martin Kiewitz fa80444a12 SCI: restoring r47412, we were right all along but this "hack" was done on the sierra sci interpreter for jones ega/vga only (talkie NOT included). So this restore does it game specific now, causing no regressions anywhere else. We detect jones/talkie as "jones" as well, may cause regressions for talkie
svn-id: r47445
2010-01-22 22:34:14 +00:00
Martin Kiewitz 4500910b49 SCI: reverting r47412, change was incorrect and also resulted in broken animations inside text boxes in kq5. jones also uses hardcoded -1 priority for control icons.
svn-id: r47444
2010-01-22 19:25:48 +00:00
Martin Kiewitz e85d2a023d SCI: control icons now use objects priority selector instead of hardcoded priority 255. fixes jones speech bubbles
svn-id: r47412
2010-01-20 21:59:12 +00:00
Martin Kiewitz 49d3ba06bf SCI: kDrawCel workaround documented and not temporary anymore
svn-id: r47409
2010-01-20 19:45:42 +00:00
Martin Kiewitz 0b2453aed8 SCI: workaround for game menu/quit menu in freddy pharkas till vm issue is resolved
svn-id: r47407
2010-01-20 17:56:00 +00:00
Martin Kiewitz e7c1a34b3f SCI: Remove upper 4 bits when drawing lines on EGA games (fixes window colors in kq1 and others)
svn-id: r47385
2010-01-19 17:45:14 +00:00
Martin Kiewitz 67f22f83d8 SCI: kDisposeWindow - use reanimate when argc == 1 (fixes iceman window removal)
svn-id: r47341
2010-01-17 13:07:50 +00:00
Martin Kiewitz 0d81207e68 SCI: adjust kNewWindow to support argc==15 (on mac according [md5])
svn-id: r47308
2010-01-15 15:37:40 +00:00
Martin Kiewitz 69c1de90e4 SCI: another change to reanimate behaviour of kDisposeWindow
svn-id: r47300
2010-01-14 20:56:46 +00:00
Martin Kiewitz f1696ce7ef SCI: change on reanimate kDisposeWindow behaviour, fixes sq5 window removal
svn-id: r47299
2010-01-14 20:53:37 +00:00
Filippos Karapetis 33db6acd7f Changed all kGraph calls which handle rectangles to use kGraphCreateRect(). Also, changed kGraphCreateRect() to return a rect, rather than update a rect pointer
svn-id: r47253
2010-01-11 16:28:46 +00:00
Filippos Karapetis 6d53dfe917 Some portrait-related changes, to be used when portrait loading/unloading is done. Also, added a comment on where the class is used
svn-id: r47251
2010-01-11 14:12:52 +00:00
Filippos Karapetis 6a07bbd5f4 Moved all the cache limits inside helpers.h and removed an obsolete TODO
svn-id: r47250
2010-01-11 12:23:04 +00:00
Filippos Karapetis 8c4e0de67d Hide the mouse cursor while a video is being played
svn-id: r47240
2010-01-11 09:28:00 +00:00
Martin Kiewitz d2d740af2a SCI: fixed typo when getting resourceId on kPortrait call - fixes resource not found in kq6 within pawn shop
svn-id: r47223
2010-01-10 11:33:10 +00:00
Martin Kiewitz 231e122c63 SCI: updateBox now also supports hires mode
svn-id: r47219
2010-01-10 09:42:55 +00:00
Martin Kiewitz da09ee6732 SCI: switching to hires kDrawCel when 8th parameter is passed, fixed kDrawCel port adjust - fixes kq6 hires inventory
svn-id: r47217
2010-01-10 08:55:19 +00:00
Martin Kiewitz 140b22a374 SCI: implement crazy hack that fixes coordinates of some cel placements. I'm not sure if thats what sierra sci actually does or if we get coordinates 0,0 due some error somewhere. Fixes portrait window placement in kq6 - strangely they are still not at the correct height perhaps related to not adjusting "correctly" (whatever this means in this ugly mess that hires was implemented) inside BitsSave()
svn-id: r47140
2010-01-07 20:29:48 +00:00
Martin Kiewitz 9577a45cdd SCI: fixed save/restorebits within screen class for displayscreen case, fixes kq6 menu bar
svn-id: r47125
2010-01-07 15:50:58 +00:00
Martin Kiewitz 7f358e3bbd SCI: changed kernel signature for kDrawCel, enabled upscaled hires savebox code ("crashed" before because afterwards kDrawCel will get the handle from the savebox call)
svn-id: r47121
2010-01-07 15:25:03 +00:00
Martin Kiewitz edc7fcf121 SCI: sync displayScreen with framebuffer after successful video playback (fixes background vanishing in mainmenu of gk1demo)
svn-id: r47089
2010-01-06 18:59:39 +00:00
Filippos Karapetis 254850aa23 - Some work on kLocalToGlobal and kGlobalToLocal for SCI2+
- Removed the custom types MemoryHandle, LoopNo, CelNo (cause we ended up having code like LoopNo loopNo = ...)
- Improved the sanity checks in frameOut()

svn-id: r47087
2010-01-06 17:25:54 +00:00
Filippos Karapetis d99aa0f126 More renaming
svn-id: r47009
2010-01-05 01:37:57 +00:00
Filippos Karapetis 84cd8d2dc7 Renamed /gui to /graphics and /sfx to /sound, to better illustrate their purpose
svn-id: r47007
2010-01-05 01:22:16 +00:00
Filippos Karapetis f66d5a7f53 SCI: Removed the old graphics code
svn-id: r47005
2010-01-05 00:54:53 +00:00
Martin Kiewitz 01eb329be2 SCI: kPalette / animate adjustments to behave more like sierra sci, also doesnt crash in island of brain anymore
svn-id: r46975
2010-01-04 16:44:58 +00:00
Filippos Karapetis 5560f93c2a SCI/new sound code: update sound cues when kGetEvent() is called, instead of kAnimate(), fixes music fading in LSL3
svn-id: r46973
2010-01-04 16:16:58 +00:00
Filippos Karapetis 74ae4ecc48 Added a comment for the reason updateSci0Cues() is called within kAnimate()
svn-id: r46833
2010-01-01 15:35:27 +00:00
Filippos Karapetis afc4bc1295 SCI/new music code:
- Resolved a deadlock with the mixer, and added appropriate mutexes (a result of the fact that SCI mixes MIDI and digital audio in the same list)
- Fixed sound playing when loading games, by properly resetting the MIDI driver
- Reverted savegame version to 14 - the changes in versions 15 and 16 don't have any effect on the currently enabled old music code, and the new music code is disabled by default, and is still prone to changes
- Now saving/loading signal, loop and hold for each sound, as well as reverb
- Added stub code for setting reverb and channel hold
- The signal, loop and hold values of each song are cached, like in SSCI and like what happens in Greg's SCI implementation. This allows a clear separation of the engine code from the rest of the engine. Reverted commits 46792 and 46797
- Removed duplicate song list accessing code
- Song cues are now updated in kAnimate for SCI0, like the old music code does, to compensate for the fact that SCI0 didn't poll for music changes via cmdUpdateCues, like what SCI01 and newer do
- Cleanup

svn-id: r46812
2010-01-01 06:41:52 +00:00
Filippos Karapetis bcc33871c1 The wrapper for the VMD decoder is only used in the SCI engine for SCI32 games, so moved it inside the engine, instead of common code. Added support for VMD video playing from the "play_video" console command
svn-id: r46737
2009-12-30 10:09:48 +00:00
Filippos Karapetis fabe51c129 Renamed gameName -> gameId, to keep the same vocabulary everywhere
svn-id: r46635
2009-12-27 12:54:03 +00:00
Filippos Karapetis 69fa167902 SCI32: The view related functions pass a view object as parameter, and the engine should deduce the parameters it needs from that object. Added stub view functions based on that fact. Also, added a sanity check in kCelHigh and kCelWide
svn-id: r46527
2009-12-24 13:50:50 +00:00
Matthew Hoops ef79d7f017 SCI32:
- Fully implement kArray and kIsHiRes and mostly implement kString (printf and atoi subfunctions still missing).
	- Add a dummy SciGui class for SCI32 to bypass the views. Gabriel Knight 1 will now play the Sierra logo music and the main menu music.
	- Some other minor SCI32 changes.

svn-id: r46462
2009-12-21 14:32:54 +00:00
Filippos Karapetis 2a3cbcbc57 Fixed text controls when subtitles are enabled in multilingual SCI01 games
svn-id: r46461
2009-12-21 14:06:47 +00:00
Filippos Karapetis 0c1b646c7f - Started wrapping the current sound code around appropriate defines
- Introduced a new resource type, SoundResource, used in the new music code

svn-id: r46421
2009-12-19 16:19:53 +00:00
Martin Kiewitz df422c0894 SCI: Fix kSetCursor (Sci1.1) to behave like Sierra Sci (fixes cursor hiding/showing in kq6)
svn-id: r46224
2009-11-30 19:34:45 +00:00
Filippos Karapetis ece0444f9c Changed some comments back to DOxygen (inline) style and removed some more dead code
svn-id: r46029
2009-11-20 22:41:17 +00:00