Commit Graph

432 Commits

Author SHA1 Message Date
Max Horn
ed914d6740 SCI: Improved the Table template a bit by taking advantage of C++ features
svn-id: r40190
2009-04-28 22:56:44 +00:00
Max Horn
6ca348c9d0 SCI: Further restructured the SegManager heap tables
svn-id: r40184
2009-04-28 16:00:59 +00:00
Max Horn
36fcc55c06 SCI: Removed the evil macros in engine/heapmgr.h, by manually instantiating them where used (this enables us to further modify the code later one)
svn-id: r40183
2009-04-28 15:59:40 +00:00
Max Horn
294bd0dc07 SCI: Renamed execution_stack -> _executionStack and turned it into a Common::Array
svn-id: r40182
2009-04-28 15:58:19 +00:00
Max Horn
f177c7142c Fixed some silly warnings
svn-id: r40165
2009-04-27 14:40:14 +00:00
Max Horn
b5e9d79e15 SCI: Turned classtable into a Common::Array<Class>
svn-id: r40161
2009-04-27 12:31:27 +00:00
Max Horn
5881abb213 SCI: Removed unused vars; doxygenified some comments; cleanup
svn-id: r40159
2009-04-27 12:29:51 +00:00
Max Horn
b73301748a SCI: Renamed gfx_state_t -> GfxState
svn-id: r40155
2009-04-27 11:12:08 +00:00
Filippos Karapetis
5eb4bdce66 Added all the different cases of kDoAudio as enums
svn-id: r40150
2009-04-26 02:00:36 +00:00
Walter van Niftrik
dfd0245273 SCI: DoSync should work now, but the lip-syncing mechanism also needs DoAudio
(currently stubbed), so it hasn't been tested yet.
so it hasn't been tested yet.

svn-id: r40147
2009-04-25 23:31:03 +00:00
Filippos Karapetis
f1893d8f25 WIP (still non-working) code for speech sync in CD talkie games (like e.g. KQ5 CD and SQ4 CD), taken from Greg's SCI implementation.
svn-id: r40142
2009-04-25 08:50:42 +00:00
Filippos Karapetis
beee12a520 Long messages in Eco Quest 1 are now shown correctly
svn-id: r40127
2009-04-24 20:09:52 +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
Walter van Niftrik
d7180316dd SCI: Fix sci_max_allowed_unknown_kernel_functions[], it was missing an entry.
svn-id: r40118
2009-04-24 15:13:04 +00:00
Walter van Niftrik
db8b3cef61 SCI: Fix signature of kPalette().
svn-id: r40117
2009-04-24 14:50:01 +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
6343b2eee0 SCI: Changed GfxWidget::set_visual function pointer to virtual method setVisual
svn-id: r40108
2009-04-24 10:48:51 +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
Max Horn
486f10edaf SCI: Store parse_tree_branch_t in a Common::Arraay
svn-id: r40100
2009-04-24 10:42:53 +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
001699becb Removed a FIXME concerning CanBeHere and CantBeHere and added an explanation. Also, removed some unused code.
svn-id: r40094
2009-04-23 19:11:01 +00:00
Filippos Karapetis
efc28c1be6 Fixed the GetMessage kernel opcode. Eco Quest 1 text is showing up correctly now
svn-id: r40093
2009-04-23 18:46:41 +00:00
Filippos Karapetis
bd2c2b0e50 WIP code for kGetMessage (tested with Eco Quest 1). Currently, it doesn't always work for some reason...
svn-id: r40092
2009-04-23 18:17:35 +00:00
Max Horn
3774b9cd0c SCI: Slim down struct SciKernelFunction
svn-id: r40081
2009-04-22 17:54:30 +00:00
Max Horn
3af8918e1a SCI: Changed kfunct_table to a Common::Array
svn-id: r40080
2009-04-22 17:54:11 +00:00
Max Horn
b1e43f3ca0 SCI: Changed knames (kernel function name table) to Common::StringList
svn-id: r40078
2009-04-22 17:53:29 +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
5325f9b76e SCI: Renamed global array 'formats' to the slightly more descriptive g_opcode_formats
svn-id: r40031
2009-04-20 19:28:33 +00:00
Max Horn
d567482818 SCI: Moved list of kernel func declarations to header file, where it belongs
svn-id: r40030
2009-04-20 19:28:08 +00:00
Willem Jan Palenstijn
812c745235 Disable MSVC warning in autogenerated code
svn-id: r40005
2009-04-18 22:56:08 +00:00
Willem Jan Palenstijn
e1c82543fc Retreive -> retrieve
svn-id: r39996
2009-04-18 21:18:30 +00:00
Max Horn
57f367acb5 SCI: Renamed bp_flag -> breakpointFlag; replaced global send_calls_allocated & send_calls vars by a local Common::Stack instance
svn-id: r39930
2009-04-11 09:58:30 +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
fe1584c140 Fixed an issue with the password screen in LSL5 and kStrAt(). The game password, saved in file memory.drv (which can either exist in the game directory, or is created in the saves folder by ScummVM) is now working correctly, and the game can be started. Note that it's NOT currently possible not to set a password (you'll get the password screen anyway the next time, and it won't work).
svn-id: r39876
2009-04-06 17:13:07 +00:00
Max Horn
52c5b7547c SCI: Made said_parse_spec static, regenerated said.cpp from said.y
svn-id: r39870
2009-04-06 10:25:27 +00:00
Walter van Niftrik
197c2bbb99 SCI: Replaced AATree by Common::List in AvoidPath. AATree does not help when
the input size is this small.

svn-id: r39855
2009-04-05 00:06:22 +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
Max Horn
cf3265a1c9 SCI: Fix warning on OSX
svn-id: r39810
2009-04-03 14:53:56 +00:00
Filippos Karapetis
c92210296e Some more FreeSCI <-> SCI changes
svn-id: r39808
2009-04-03 08:23:02 +00:00
Filippos Karapetis
c4e054848e Changed some references from "FreeSCI" to "SCI" or "ScummVM"
svn-id: r39807
2009-04-03 08:10:58 +00:00
Filippos Karapetis
8ae0ed1706 Applied fingolfin's suggestion to remove the roundf() implementation and make the code in that bit simpler and more readable (since points are always positive)
svn-id: r39802
2009-04-02 19:37:56 +00:00
Filippos Karapetis
44443badc5 Disable some (quite chatty) debug output - the savegme system looks stable enough
svn-id: r39801
2009-04-02 16:54:21 +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
9180f3a9a1 Fixed compilation under MSVC by implementing roundf()
svn-id: r39799
2009-04-02 16:30:42 +00:00
Walter van Niftrik
88ec6f407c SCI: AvoidPath cleanup.
svn-id: r39798
2009-04-02 15:28:34 +00:00
Walter van Niftrik
3dc820796d SCI: Avoidpath cleanup.
svn-id: r39797
2009-04-02 00:04:20 +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
f7748cfefc Disabled some unused code
svn-id: r39765
2009-03-30 14:06:07 +00:00
Filippos Karapetis
e130aecc4f Wrapped all the still WIP SCI32-specific code around appropriate ifdef blocks. SCI32 has fundamental differences from previous SCI versions (e.g. direct point addressing is no longer possible), most of SCI32 games use SVGA resolutions and currently a lot of SCI32 specific code is missing (like, for example, the newer string and array handling functions, the widget system etc). This has been done in the same manner as in the SCUMM and SAGA engines.
svn-id: r39750
2009-03-30 07:53:32 +00:00
Willem Jan Palenstijn
968856780b SCI: Merge static palette into global palette at startup
svn-id: r39747
2009-03-29 21:46:49 +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
Walter van Niftrik
e860473d80 SCI: AvoidPath workaround for intersecting polygons in Longbow, room 210.
svn-id: r39714
2009-03-27 23:01:13 +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
4723f80fe2 Merged sciw_select_item() and sciw_unselect_item()
svn-id: r39689
2009-03-25 16:37:50 +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
Joost Peters
67201f6a71 revert yesterday's change -- apparently this different behavior was intentional.
svn-id: r39683
2009-03-25 10:04:45 +00:00
Walter van Niftrik
42d67b4a3a SCI: AvoidPath cleanup.
svn-id: r39680
2009-03-25 00:33:31 +00:00
Walter van Niftrik
b85b6929bd SCI: build fix.
svn-id: r39675
2009-03-24 21:18:06 +00:00
Walter van Niftrik
e8b38af014 SCI: Added workaround for broken polygon in LSL1 room 350.
svn-id: r39674
2009-03-24 21:03:50 +00:00
Joost Peters
fc9e5b6beb Fix smaller error introduced in r39671 refactoring (this check used to be "res == 0").
Thanks to syke for spotting it.

svn-id: r39673
2009-03-24 19:56:41 +00:00
Max Horn
1e94b9cd3c SCI: Rewrote vocabulary code to use a Common::HashMap<String,ResultWord>
svn-id: r39671
2009-03-24 17:42:12 +00:00
Max Horn
65b96f6a1b SCI: Changed vocab_tokenize_string to not 'return' the list it generates, but rather pass a reference to an existing list to it (this is a bit more efficient, and allows us to return an error value)
svn-id: r39670
2009-03-24 17:41:46 +00:00
Max Horn
d38590e6d4 SCI: Turned synonyms list into a Common::List
svn-id: r39669
2009-03-24 17:41:26 +00:00
Walter van Niftrik
3e2c1a39e2 SCI: Added workaround for duplicate polygons being passed to kAvoidPath.
svn-id: r39668
2009-03-24 15:17:25 +00:00
Max Horn
b76f7fea4e SCI: Changed some char* into Common::String
svn-id: r39663
2009-03-24 12:46:48 +00:00
Max Horn
33895c0220 SCI: Only pass the pointerpos to Menubar::mapPointer, not the full gfx_state_t
svn-id: r39662
2009-03-24 12:14:41 +00:00
Max Horn
9ea32d4aa1 SCI: C++ify menu code
svn-id: r39659
2009-03-24 11:31:16 +00:00
Filippos Karapetis
3b5a14916d Cleanup
svn-id: r39633
2009-03-23 14:24:10 +00:00
Walter van Niftrik
ca993d8b00 SCI: some avoidpath cleanup
svn-id: r39630
2009-03-23 11:10:16 +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
Max Horn
2463b148a9 SCI: Renamed Vertex::entries::cle_next -> Vertex::_next, analog for cle_prev. Replace code for reversing a circular list by a new method CircularVertexList::reverse()
svn-id: r39613
2009-03-22 18:27:39 +00:00
Max Horn
09ecda7ca4 SCI: Some cleanup; avoid taking square root unnecessarily
svn-id: r39612
2009-03-22 18:27:08 +00:00
Max Horn
734e9dd377 SCI: Fix warnings
svn-id: r39606
2009-03-22 13:50:37 +00:00
Max Horn
7245fce099 SCI: cleanup
svn-id: r39578
2009-03-20 23:02:20 +00:00
Max Horn
ed292fb498 silenced some warnings
svn-id: r39566
2009-03-20 13:30:10 +00:00
Walter van Niftrik
a45ed16fc4 SCI: converted aatree into a class
svn-id: r39544
2009-03-19 22:47:30 +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
Filippos Karapetis
063ce3938d Started objectifying the graphics resource manager (refer to patch #2689887)
svn-id: r39492
2009-03-17 21:08:33 +00:00
Max Horn
95c58e76d6 SCI: Added TODO: Merge SegInterface and MemObject? And some cleanup
svn-id: r39485
2009-03-17 16:08:25 +00:00
Max Horn
3c23ba7d73 SCI: Got rid of various SegManager::free_* methods
svn-id: r39484
2009-03-17 16:07:58 +00:00
Filippos Karapetis
80c243e5ca Renamed some defines:
- FREESCI_CURRENT_SAVEGAME_VERSION, FREESCI_MINIMUM_SAVEGAME_VERSION -> CURRENT_SAVEGAME_VERSION, MINIMUM_SAVEGAME_VERSION (saved games are not compatible with FreeSCI's ones anymore)
- _K_VIEW_SIG_FLAG_FREESCI_STOPUPD -> _K_VIEW_SIG_FLAG_STOPUPD (like the rest of the flags)
- Removed FREESCI_KFUNCT_GLUTTON (unused)

svn-id: r39478
2009-03-17 08:03:42 +00:00