Commit graph

220 commits

Author SHA1 Message Date
Filippos Karapetis
3c82b6578f Now that EngineState is not deleted when loading games, we can move some more state-related variables to it, and remove several FIXME's about non-const global variables. Also, the entries in the data stack are now deleted when loading (fixes a memory leak - thanks to digitall for this).
svn-id: r49465
2010-06-06 23:00:33 +00:00
Filippos Karapetis
65f3cfcbd8 Stop reconstructing the engine state when restoring, but reset it instead
svn-id: r49376
2010-06-01 15:48:17 +00:00
Filippos Karapetis
9c92bd1b81 The parser vocabulary remains static throughout the game, thus it has been removed from the engine state
svn-id: r49373
2010-06-01 15:11:20 +00:00
Filippos Karapetis
e083c20da1 The system strings segment is a fixed segment of the segment manager, which doesn't change during the game, thus move all the system strings code and variables inside the segment manager
svn-id: r49372
2010-06-01 14:41:48 +00:00
Filippos Karapetis
7cd9a23c0d Remove the unused SCI_GAME_WAS_RESTARTED_AT_LEAST_ONCE flag
svn-id: r49161
2010-05-23 17:03:16 +00:00
Filippos Karapetis
9be4f6250c Made shrink_execution_stack() a member of EngineState
svn-id: r49159
2010-05-23 16:44:36 +00:00
Filippos Karapetis
c874ff15a8 Cleaned up the game ID code:
- The game ID is now obtained from ScummVM ID directly, not by converting Sierra's internal ID
- Moved the code which reads the internal Sierra ID inside the resource manager
- Moved the code which converts the internal Sierra ID to ScummVM's IDs together with the rest of the detection code

svn-id: r49152
2010-05-23 10:28:03 +00:00
Filippos Karapetis
852cb16c49 Moved the breakpoint information inside the DebugState struct
svn-id: r49092
2010-05-19 07:25:06 +00:00
Max Horn
c934642bdb COMMON: Move typedef StringList from str.h to new header str-array.h
This removes the dependency on array.h from str.h.
Also, begun migration from the confusing type name "StringList" to
the more appropriate StringArray.

svn-id: r48282
2010-03-18 15:09:24 +00:00
Max Horn
02201e937a SCI: Move SciGui::wait to EngineState::wait
svn-id: r48118
2010-02-23 22:44:46 +00:00
Max Horn
975dbef0e5 SCI: Remove sound/audio.h include from engine/state.h
svn-id: r48063
2010-02-15 00:20:53 +00:00
Filippos Karapetis
07e405588d Moved the reference to AudioPlayer inside SciEngine (as it doesn't have a state, per se, and is static)
svn-id: r48059
2010-02-14 12:23:22 +00:00
Max Horn
b9a11ddb0b SCI: Move language related code from EngineState to SciEngine
svn-id: r48052
2010-02-13 17:46:44 +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
9575cc08a2 SCI: Move GameFeatures from EngineState to SciEngine
svn-id: r48049
2010-02-13 17:44:58 +00:00
Max Horn
a82939c9be SCI: Get rid of EngineState::resMan
svn-id: r48048
2010-02-13 17:44:19 +00:00
Max Horn
721a57a661 SCI: Move Gui/Gfx related permanent objects from EngineState to SciEngine
svn-id: r48047
2010-02-13 17:43:31 +00:00
Martin Kiewitz
248bc560f3 SCI: moved onControl etc. into GfxCompare, now getting called directly. also fixed loading saved games due Gfx* changes
svn-id: r47912
2010-02-05 20:44:03 +00:00
Martin Kiewitz
f3ea96d168 SCI: GfxCoordAdjuster class added, local2Global and global2Local use that class directly, kGraph / RedrawBox is now using GfxPaint16 directly
svn-id: r47908
2010-02-05 18:56:13 +00:00
Martin Kiewitz
e7cffa90b2 SCI: frameout sci32 stuff now gets called directly w/o SciGui/32
svn-id: r47907
2010-02-05 16:03:14 +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
3ce2e22978 SCI: adding GfxPaint class, implementing kernelDrawPicture for GfxPaint16 and GfxPaint32, using those classes directly when drawing pictures instead of SciGui/32. Making draw_pic command work in sci32 that way, using _gfxPaint16 for kDrawPic because that command is sci16 exclusive
svn-id: r47883
2010-02-04 19:22:40 +00:00
Filippos Karapetis
2fb37063a4 Placed all the game feature detection code in a separate class
svn-id: r47850
2010-02-03 11:02:43 +00:00
Max Horn
bb5e34a014 SCI: Get rid of EngineState::stack_segment
svn-id: r47833
2010-02-03 01:32:59 +00:00
Max Horn
b2d69649f7 SCI: Rearrange members of class EngineState
svn-id: r47832
2010-02-03 01:32:27 +00:00
Max Horn
4b19acf255 SCI: Use Common::List and Common::String to simplify breakpoint handling (untested)
svn-id: r47824
2010-02-02 22:52:41 +00:00
Martin Kiewitz
845c245ff3 SCI: class menu renamed to GfxMenu - now getting called directly, also fix for loading savedgames
svn-id: r47792
2010-02-01 09:53:42 +00:00
Martin Kiewitz
d31f696d1f SCI: rename Controls to GfxControls, gets directly called now
svn-id: r47783
2010-01-31 22:20:55 +00:00
Walter van Niftrik
a92bb6193b SCI: Implement kMemorySegment().
svn-id: r47776
2010-01-31 19:47:54 +00:00
Martin Kiewitz
66c88b98f5 SCI: GfxCache is now also called directly w/o SciGui nor SciGui32
svn-id: r47759
2010-01-31 17:14:58 +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
Matthew Hoops
5b9b6b6b70 Fix compile when ENABLE_SCI32 is not set.
svn-id: r47682
2010-01-29 22:02:28 +00:00
Martin Kiewitz
a800855bf4 SCI: added new SciGui32 class, Gfx class needs some work though and hopefully i didnt overlook some kernel function that is also used by sci32. now using plane left/top
svn-id: r47679
2010-01-29 21:30:46 +00:00
Max Horn
b124a0c1cd SCI: Reduce header interdependencies a bit
svn-id: r47666
2010-01-29 11:05:06 +00:00
Matthew Hoops
d883b6215f Detect whether to use the modified SCI2 or SCI2.1 kernel table based on the kDoSound call used in Sound::play(), which fixes at least my version of KQ7 - probably others. The kernel table initialization now occurs after the script signatures are adjusted as we need it adjusted before checking through Sound::play for the kDoSound call.
svn-id: r47645
2010-01-28 18:57:31 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Filippos Karapetis
722233fd0d - Moved all of the parser-related variables inside the Vocabulary class
- Moved the kSetSynonyms() function inside kscripts (as it's for script synonyms, not parser word synonyms)
- The parser vocabulary is now only initialized for SCI0 and SCI01 games, which had a parser

svn-id: r47483
2010-01-23 19:10:56 +00:00
Filippos Karapetis
df149e1509 Separated the parser code
svn-id: r47480
2010-01-23 17:55:54 +00:00
Filippos Karapetis
f007435b82 sfx_init_flags is not used in the new sound code
svn-id: r47464
2010-01-23 12:10:31 +00:00
Martin Kiewitz
3e44180e47 SCI: speed throttler changed, now gets triggered by kAnimate, removed initial no-delay, i'm still getting animation now in iceman and sq3, slow palette animation in longbow fixed
svn-id: r47343
2010-01-17 18:41:28 +00:00
Filippos Karapetis
a637f50862 Silenced warnings ("this" isn't defined on object instantiation, and commented out some unused variables)
svn-id: r47237
2010-01-10 21:13:38 +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
Filippos Karapetis
2f23eb99ee The "room" command can now set the current room number, too (more straightforward than changing global var 13)
svn-id: r46925
2010-01-03 15:08:26 +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
113c0941ae - Introduced a new version in the sound version detection routine, as SCI0 early games had different sound than SCI0 late ones
- Changed sound-related debug output from printf's into debugC calls

svn-id: r46560
2009-12-25 18:15:16 +00:00
Filippos Karapetis
980b8bb899 Moved all of the sound iterator code in its own directory, and added a slight hack to the SoundCommandParser constructor
svn-id: r46430
2009-12-20 13:38:13 +00:00