Commit Graph

173 Commits

Author SHA1 Message Date
Martin Kiewitz
fa7c6a9969 SCI: adding workaround for platform-specific
incompatibility with some sierra games. Some games open a new menu, set mouse cursor within that menu and expect the mouse cursor to be in there and will close it, if it's outside. In case of Wiimote/touch interfaces this logic won't work of course. Fixes island of dr. brain and QfG1VGA on Wii and touch-interface platforms

svn-id: r52474
2010-08-31 15:50:46 +00:00
Martin Kiewitz
ff7476d9f1 SCI: adding virtual lists for qfg-import rooms
now lists import files of all possible games, adds game title before that, removes game prefixes for all files

svn-id: r52441
2010-08-29 15:13:25 +00:00
Martin Kiewitz
0c5561105c SCI: storing game super class address now inside SciEngine
svn-id: r52311
2010-08-23 20:29:13 +00:00
Martin Kiewitz
b7b904f981 SCI: fix regression of r51027
we have to reset the parser when switching vocabulary

svn-id: r51031
2010-07-19 15:30:27 +00:00
Martin Kiewitz
2a0cff5c6d SCI: implement foreign vocabulary support
not fully working, extended chars do not work currently as input

svn-id: r51027
2010-07-19 13:50:06 +00:00
Martin Kiewitz
6ff4dd2d91 SCI: changing how savegame ids are handled internally. Using range 0-999 so that scripts are able to signal us to create new slots, using range 1000-1999 for official slots. fixes lsl6 quicksave overwriting wrong save slots
svn-id: r50831
2010-07-12 22:26:48 +00:00
Martin Kiewitz
df6ead5f93 SCI: calling speed throttler as well from kPalette(setIntensity) if needed - fixes kq6 intro
svn-id: r50794
2010-07-10 22:27:28 +00:00
Filippos Karapetis
bff3e89e48 SCI: Removed the FreeSCI music code
svn-id: r50532
2010-06-30 13:49:05 +00:00
Filippos Karapetis
9f1320d5cc SCI: Made the SoundCommandParser a member of the SciEngine class and removed it from the EngineState, since it's static throughout the course of a game
svn-id: r50484
2010-06-29 09:00:08 +00:00
Filippos Karapetis
048ceb73d3 SCI: Removed the hack for loading games from the launcher from run_vm(). This is now done on startup. This should fix loading from the launcher for LSL6
svn-id: r50406
2010-06-27 23:20:08 +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
Filippos Karapetis
db70d66e4a Strict mode: Changed several warnings due to logic bugs into errors. If an error pops up from these ones, please add the game where it occurred and the steps to reproduce the error before turning it into a warning
svn-id: r49973
2010-06-17 23:50:28 +00:00
Max Horn
8e07a1e167 SCI: Moved the event code a little bit around.
* Move sleep() from EventManager to SciEngine
* Rename EventManager methods: get -> getSciEvent, and
  getFromScummVM -> getScummVMEvent
* Make scancode_rows static const
* Turn altify & numlockify from EventManager methods into static
  functions (and comment out the currently unused numlockify)

svn-id: r49959
2010-06-17 23:10:37 +00:00
Filippos Karapetis
e64eb71ce8 Properly reconstruct the running stack when restoring (a regression from commits #49376 and #49525), some formatting
svn-id: r49689
2010-06-15 09:11:26 +00:00
Filippos Karapetis
5330e632de Don't attempt to modify the printLang selector if it doesn't exist
svn-id: r49575
2010-06-10 14:02:20 +00:00
Filippos Karapetis
711f679b7f camelCase changes
svn-id: r49570
2010-06-10 11:43:20 +00:00
Filippos Karapetis
93f33c7dab Resolved a FIXME with getSciLanguage(), by creating a separate setter. Also, some camelCase changes
svn-id: r49568
2010-06-10 11:18: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
0ab7c908bb Removed the pointer to the game object from the EngineState class
svn-id: r49562
2010-06-10 08:11:38 +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
5cb311ee2c Renamed the SciEvent class to EventManager, to separate it from the sciEvent structure, and removed it from the engine state
svn-id: r49534
2010-06-09 07:59:42 +00:00
Filippos Karapetis
10aeb33a42 Merged restAdjust and restAdjustCur, as we don't save the restAdjust modifier inside saved games (rightfully so). Also, the segment manager is now reset inside the main loop, when the game is restarted, not in game_exit()
svn-id: r49533
2010-06-09 07:32:17 +00:00
Filippos Karapetis
eafc63e572 Cleanup
svn-id: r49521
2010-06-08 21:21:19 +00:00
Filippos Karapetis
9304b5fbeb Merged the restarting_flags, script_abort_flag, and restoring members of the EngineState class into one variable, abortScriptProcessing. The flag kept to signify a game restart has been placed in a boolean, gameWasRestarted
svn-id: r49518
2010-06-08 21:05:46 +00:00
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
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
Filippos Karapetis
9be4f6250c Made shrink_execution_stack() a member of EngineState
svn-id: r49159
2010-05-23 16:44:36 +00:00
Filippos Karapetis
852cb16c49 Moved the breakpoint information inside the DebugState struct
svn-id: r49092
2010-05-19 07:25:06 +00:00
Walter van Niftrik
fa846bfebc SCI: For Japanese system-font strings, convert half-width characters to
full-width characters.

svn-id: r48707
2010-04-19 00:13:01 +00:00
Walter van Niftrik
c0c351c766 SCI: Don't add subtitles for monolingual strings.
svn-id: r48697
2010-04-18 00:56:04 +00:00
Martin Kiewitz
01852cbf93 SCI: dont switch to english on kanji text, also cut off text w/o spaces inside GetLongest() so that kanji raw chars will appear in windows
svn-id: r48673
2010-04-16 13:27:30 +00:00
Max Horn
2e68de1e5a SCI: Turn kernel_sleep() into SciEvent::sleep()
svn-id: r48119
2010-02-23 22:47:53 +00:00
Max Horn
02201e937a SCI: Move SciGui::wait to EngineState::wait
svn-id: r48118
2010-02-23 22:44:46 +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
Max Horn
f86618f92b SCI: Add a 'SELECTOR' macro
svn-id: r47918
2010-02-05 22:55:18 +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
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
097b45db21 SCI: fix getLanguage - fixes gk1 german (day number blood writing at the start), thx to waltervn
svn-id: r47795
2010-02-01 13:27:20 +00:00
Matthew Hoops
12d983eaf4 Make EngineState::getLanguage() check from the resource manager as to what language it has loaded before checking from what ScummVM has set and make kDoAudio use EngineState::getLanguage()
svn-id: r47782
2010-01-31 22:14:35 +00:00
Walter van Niftrik
a92bb6193b SCI: Implement kMemorySegment().
svn-id: r47776
2010-01-31 19:47:54 +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