Commit Graph
642 Commits
Author SHA1 Message Date
Filippos Karapetis 1239949ef2 Changed errors to be fatal, as most of them are fatal conditions. Some of them have been changed to warnings for now, as they occur in certain games (e.g. SQ4 floppy, SQ4 CD and KQ5 CD)
svn-id: r40675
2009-05-18 07:55:13 +00:00
Walter van Niftrik 7c5fbf83f5 SCI: LSL6 invalid selector workaround is now always active, not just at
startup. Added support for mirrored pic drawing.

svn-id: r40648
2009-05-17 13:37:54 +00:00
Walter van Niftrik f010eef04e SCI: Turned some relatively harmless yet frequently occurring warnings into debug messages.
svn-id: r40629
2009-05-16 14:24:12 +00:00
Filippos Karapetis 87e8f94fde - Moved all the files out of /sci/scicore and into /sci
- Moved /scicore/sciconsole.h into /engine, and renamed /engine/scriptconsole.cpp to /engine/sciconsole.cpp

svn-id: r40608
2009-05-15 14:07:45 +00:00
Filippos Karapetis 565cfa074d Simplified SCI versions to be SCI version generations, and fixed some game entries in the process. Also, added a sanity check for invalid game entries
svn-id: r40596
2009-05-15 09:04:21 +00:00
Max Horn a3efc5611c Fixed various GCC 4.2 warnings, among them an actual longstanding bug (3 years :) in the quicktime midi code
svn-id: r40577
2009-05-14 23:09:04 +00:00
Filippos Karapetis 97bdf32a59 Added the EGA version of Longbow, and partially reverted my previous commit. SCI1 EGA games should *really* be working now
svn-id: r40565
2009-05-14 18:55:30 +00:00
Filippos Karapetis d5e1ca4630 - Added a new game flag to distinguish SCI1 EGA versions
- Fixed the wrong detected versions of Laura Bow 2
- Changed some code regarding the resource loader of Jones in the Fast Lane (which is still non-functional)

svn-id: r40564
2009-05-14 17:50:09 +00:00
Filippos Karapetis 4ec6c4127f Added a feature flag for the SCI1.1 behavior of kSetCursor() in Eco 1 and KQ5 CD. Some cleanup
svn-id: r40554
2009-05-14 11:11:56 +00:00
Filippos Karapetis 999d46b241 Started using game-specific flags and removed/replaced some SCI version checks with flags.
- The SCI0 new script header and the angles check have been replaced by the GF_SCI0_OLD flag
- The SCI0 new drawpic parameter and the new priority check have been replaced by the GF_SCI0_OLDGFXFUNCS flag
- Removed the code which retries to use the newer script header in SCI0 games if the detected one is wrong, as that case should be covered by the GF_SCI0_OLD flag
- Removed the leftover min_version and max_version variables from gamestate
- Cleaned up kGetTime() a bit

svn-id: r40552
2009-05-14 09:12:27 +00:00
Filippos Karapetis 2ca7605050 - Enabled the code which puts the text inside the screen if it doesn't fit for all SCI versions
- Removed the check for the mechanism to resume suspended songs (it's no longer used)

svn-id: r40551
2009-05-14 07:28:06 +00:00
Filippos Karapetis e940bcff23 - Simplified SCI version detection a bit and clarified the different version feature flags (not used yet)
- Removed the version verification functions (they were only used for two specific cases, but the SCI executable reader is able to detect the exact SCI game version anyway, so there is no point in having these)
- Removed the empty GameFlags structure and replaced it with a 32-bit integer instead

svn-id: r40524
2009-05-13 16:52:41 +00:00
Max Horn 0255cd0213 SCI: Removed sci_memory.h/.cpp
svn-id: r40514
2009-05-12 23:30:10 +00:00
Filippos Karapetis 5e83e27bf6 Performed some cleanup on the different version checks
svn-id: r40499
2009-05-12 18:57:28 +00:00
Max Horn 98fb95589c SCI: Changed EngineState::pics to a Common::Array
svn-id: r40434
2009-05-10 20:13:43 +00:00
Max Horn 5881abb213 SCI: Removed unused vars; doxygenified some comments; cleanup
svn-id: r40159
2009-04-27 12:29:51 +00:00
Filippos Karapetis ea7b198748 Merged kSetCursor and kSetCursorNew, and changed KQ5 CD to use the newer kSetCursor version
svn-id: r40120
2009-04-24 16:47:56 +00:00
Max Horn 6f60e0dd48 SCI: Turned GfxWidget::draw function pointer into virtual method
svn-id: r40115
2009-04-24 14:22:14 +00:00
Max Horn bd9a44969f SCI: Turned GfxWidget::tag function pointer into virtual method
svn-id: r40114
2009-04-24 14:21:16 +00:00
Max Horn dadae13545 SCI: Turned GfxWidget::print function pointer into virtual method
svn-id: r40113
2009-04-24 14:20:31 +00:00
Walter van Niftrik c0805599ca SCI: Fixed mouse cursor hotspots in ECO1.
svn-id: r40110
2009-04-24 12:30:57 +00:00
Max Horn ebcfd9b016 SCI: Got rid of GFXW() macro; turned GfxWidget::widfree into destructors
svn-id: r40107
2009-04-24 10:48:25 +00:00
Max Horn 80794a6b5a SCI: font_nr -> _font
svn-id: r40106
2009-04-24 10:47:38 +00:00
Max Horn 22a803cc69 SCI: Rewrote the port_refs code (fixing at least three serious bugs in it. Wow, crappy)
svn-id: r40105
2009-04-24 10:46:46 +00:00
Max Horn 9445439c4f SCI: Renamed gfxw_widget_t and subtypes to GfxWidget etc.
svn-id: r40104
2009-04-24 10:46:20 +00:00
Max Horn 86b3657476 SCI: Started to C++ify the gfxw_widget_t codebase
svn-id: r40103
2009-04-24 10:45:09 +00:00
Max Horn eb0710c2cd SCI: Some const corrections, removed dead stuff, cleanup
svn-id: r40101
2009-04-24 10:43:42 +00:00
Filippos Karapetis f2bd65339c Changed the "Intersections" opcode to "MoveCursor", after verifying it with Greg's SCI implementation and discussing it with waltervn. Also, the cursor hotspot is now fixed for Eco Quest 1 and probably SCI11 games as well (e.g. the game menu in KQ6 is now working)
svn-id: r40096
2009-04-23 21:06:34 +00:00
Filippos Karapetis 78f892f87c The mouse cursor is now working in Eco Quest 1, though the hotspot is still wrong. Many thanks to waltervn for his findings on this.
svn-id: r40095
2009-04-23 20:37:41 +00:00
Filippos Karapetis 3c58066206 - Fixed some of the GUI graphical glitches in SCI1 games (e.g. the inventory screen in several SCI1 games and the menus in PQ3). It's still not right, but it's better than nothing
- Removed the confusing ADD_TO_CURRENT_BG_WIDGETS and ADD_TO_CURRENT_FG_WIDGETS defines, which had the same functionality

svn-id: r40058
2009-04-21 21:37:03 +00:00
Filippos Karapetis 20cc4f3dd7 Restored the ability to change the active port bound, by moving it inside gfx_state_t (it makes much more sense for it to be there, instead of inside user-defined settings). Placed notes inside gfxr_draw_pic01() and gfxr_draw_pic11() for the usage of the current titlebar size in there
svn-id: r40057
2009-04-21 19:57:11 +00:00
Max Horn fadd224285 SCI: Clarify hack in kgraphics.cpp based on what lars wrote on scummvm-devel
svn-id: r39905
2009-04-09 08:49:42 +00:00
Walter van Niftrik 81f7c8b746 SCI: Swapped x and y parameters of IsItSkip. Added IsItSkip to kernel table.
svn-id: r39894
2009-04-07 17:26:42 +00:00
Filippos Karapetis e03eb7d4ce Removed leftover chrono-related code (refer to commit #37721 for the changes to kgraphics.cpp)
svn-id: r39820
2009-04-03 22:48:55 +00:00
Filippos Karapetis c3dc501f23 Removed the non-working Chrono port code, after discussing with Lars
svn-id: r39819
2009-04-03 22:03:06 +00:00
Filippos Karapetis 6fe12a0888 pic_port_bounds was only set from command-line parameters it seems, so it's safe to put it together with the rest of the options
svn-id: r39800
2009-04-02 16:38:33 +00:00
Filippos Karapetis 1e8bd16c1e - Wrapped all the code for custom graphics options around a CUSTOM_GRAPHICS_OPTIONS define. Most of these options don't work in 256-color mode, plus there is currently no way to actually set/change them somehow (other than modifying the code)
- Added a FIXME for the abuse of the pic_port_bounds graphics option - it's actually set by the game itself in kSetPort()
- Added some test code for setting palette intensity in KPalette() (currently disabled)

svn-id: r39794
2009-04-01 20:32:45 +00:00
Filippos Karapetis 661644f3c1 Added stubs for the missing palette effects in kPalette()
svn-id: r39744
2009-03-29 15:08:50 +00:00
Filippos Karapetis fbc76a89e1 Added a stub for the palette fadeout/fadein effect, so that we remember it's currently missing
svn-id: r39743
2009-03-29 14:47:57 +00:00
Filippos Karapetis d883cb209e Fixed the colors of the widgets in KQ5's options menu
svn-id: r39737
2009-03-29 12:28:24 +00:00
Filippos Karapetis 09d96e24f9 Fixed the colors of the window frames in KQ5
svn-id: r39734
2009-03-29 11:56:32 +00:00
Filippos Karapetis cda1bf5ca9 Eco Quest 1 continues after the intro now
svn-id: r39731
2009-03-29 01:56:03 +00:00
Filippos Karapetis d75959c354 Added a note about the potential invalid rectangles created when drawing lines
svn-id: r39704
2009-03-26 21:52:04 +00:00
Filippos Karapetis 34d75e455b - Renamed gfx/sci_widgets.* to gfx/gfx_gui.*, as these files contain GUI elements mostly, like windows and status bars
- Moved kWindowAutoRestore from gfx_widgets.h to gfx_gui.h

svn-id: r39687
2009-03-25 12:52:03 +00:00
Filippos Karapetis 006b2d62af Changed some flags to enums
svn-id: r39685
2009-03-25 12:07:10 +00:00
Max Horn b76f7fea4e SCI: Changed some char* into Common::String
svn-id: r39663
2009-03-24 12:46:48 +00:00
Filippos Karapetis a6f49a636b - Moved palette initialization inside the graphics resource manager
- The static palette is no longer needlessly referenced directly outside the graphics resource manager
- Moved the SCI interpreter version inside the graphics resource manager, instead of gfx_state_t

svn-id: r39626
2009-03-23 08:43:53 +00:00
Filippos Karapetis e3f9acc3e6 Further objectification of the graphics resource manager
svn-id: r39621
2009-03-22 23:11:43 +00:00
Filippos Karapetis 723bc879f8 Changed abs_rect_t to Common::Rect
svn-id: r39518
2009-03-18 16:43:12 +00:00
Filippos Karapetis e546c60948 Further objectification of the graphics resource manager
svn-id: r39499
2009-03-17 23:30:57 +00:00