120 Commits

Author SHA1 Message Date
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
Martin Kiewitz
98aa8b195a SCI: fix possible heap error
svn-id: r48908
2010-05-03 13:55:49 +00:00
Max Horn
cac0ac66e2 COMMON: Get rid of Common::StringList
svn-id: r48287
2010-03-18 15:54:40 +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
ac4d325e0d SCI: Add global g_sci pointer to the active SciEngine instance
svn-id: r48046
2010-02-13 17:42:49 +00:00
Matthew Hoops
66b326d3e8 Add support in kString(Cpy) for copying to system strings. Also, stubbing kFileIO(19) to allow Torin to see the main menu. Some minor cleanup.
svn-id: r47820
2010-02-02 19:45:22 +00:00
Matthew Hoops
af52e2caf0 Torin calls K_FILEIO_OPEN without a file mode to open with. Assume that it's opening the file for reading as it appears that it is just testing if it exists. Torin (and the demo) progress a little farther now.
svn-id: r47790
2010-02-01 03:59:48 +00:00
Walter van Niftrik
c66a6db213 SCI: Fix regression in KQ5CD caused by r47775.
svn-id: r47778
2010-01-31 21:11:36 +00:00
Walter van Niftrik
4acb18f6b9 SCI: Add another DeviceInfo subfunction. Fixes VM crash in MUMG.
svn-id: r47775
2010-01-31 19:46:46 +00:00
Filippos Karapetis
7f4aa161bc Removed duplicate code. Some cleanup
svn-id: r47735
2010-01-31 01:26:06 +00:00
Max Horn
4f4b559d1c SCI: Correct comments which talked about 'loading from GMM' when they really meant 'loading from launcher'
svn-id: r47725
2010-01-30 19:06:24 +00:00
Willem Jan Palenstijn
06bd17ee71 SCI: Remove extra '\n's in debugC messages
svn-id: r47707
2010-01-30 11:59:05 +00:00
Matthew Hoops
da46fc9b35 Add support for saving/loading Arrays/Strings in SCI32. It's possible to save a game in GK1 now via the console, but not load (yet).
svn-id: r47696
2010-01-30 02:03:59 +00:00
Matthew Hoops
0717491b5b Downgrade the 'attempt to use invalid/unused file handle' error to a warning. This fixes the GK2 demo which now is playable and the slideshow is viewable. The GK2 demo scripts attempt to open the VERSION file which does not exist.
svn-id: r47589
2010-01-27 04:48:50 +00:00
Filippos Karapetis
d5724a2eda Fixed reading of options file (game.opt) for Hoyle 3
svn-id: r47575
2010-01-26 21:27:13 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Filippos Karapetis
c46c42ceb0 SCI: Saved games can now be loaded from ScummVM's launcher
svn-id: r47423
2010-01-21 22:20:16 +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
Martin Kiewitz
d4738631d5 SCI: implemented new console command "listsaves"
svn-id: r46883
2010-01-02 14:08:26 +00:00
Martin Kiewitz
7b0c1f262f SCI: fixing bad sorting of saved games due MMDDYYYY date saving
svn-id: r46846
2010-01-01 19:52:50 +00:00
Martin Kiewitz
b1b6555cb5 SCI: implement kFOpen (OPEN_OR_CREATE), makes it possible to save character data at the end of qfg1ega
svn-id: r46814
2010-01-01 10:08:14 +00:00
Martin Kiewitz
ac7c92c67f SCI: kFileIO findFirst/findNext returns only game-specific prefixed files
svn-id: r46811
2009-12-31 23:59:28 +00:00
Filippos Karapetis
cb6b1e8aff Changed kValidPath() to always return true, regardless of the value of savePath (so that it works with both SCI11 and SCI32 games)
svn-id: r46800
2009-12-31 14:59:30 +00:00
Max Horn
d083e02215 Rename Common::Stream::readLine_NEW to readLine
svn-id: r46779
2009-12-30 23:00:55 +00:00
Matthew Hoops
5382aa1ab0 SCI32:
- Set signature for Array/String
	- Add the kernel table differences for the GK2 demo
	- Implement kMessage changes in SCI32
	- Use an empty string as the default path for all games now (and modify kValidPath to accept that only as valid)
	- Add dereferencing for Arrays

svn-id: r46756
2009-12-30 16:00:56 +00:00
Filippos Karapetis
53068b9e42 Removed leftover debug output
svn-id: r46698
2009-12-29 01:24:02 +00:00
Johannes Schickel
f642687638 Fix gcc warning (and along with it make the code a little bit easier to read).
svn-id: r46542
2009-12-25 03:29:17 +00:00
Matthew Hoops
65dcc0b2a3 SCI32:
- Fix dup for kArray/kString
	- Implement kFileIO::rename (SCI1.1)
	- Implement part of the SCI32 additions to kFileIO
	- Implement the GetSaveDir part of kSave (SCI2.1)
	- Torin (SCI2.1!) now shows signs of life -- it will create the torin.prf file with correct data!

svn-id: r46521
2009-12-24 02:43:07 +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
Max Horn
923cbff625 SCI: Cleanup DirSeeker a little bit
svn-id: r46290
2009-12-08 20:44:01 +00:00
Filippos Karapetis
7c73bc2965 Cleaned up the file handling functions and removed the C IO wrappers. Apparently, the special case that these were meant to handle never occurs (i.e. reading and writing to the same file), and the current code works well enough to justify these extra sanity checks
svn-id: r45902
2009-11-14 16:19:25 +00:00
Filippos Karapetis
c8546fd92f Stop SQ4 floppy from updating the unused sq4sg.dir file when deleting a saved game
svn-id: r45507
2009-10-29 20:31:35 +00:00
Filippos Karapetis
ebfcea35ec - Implemented savegame deletion for SQ4 floppy
- Added a more proper way to disable the "Change Directory" button, by checking its name, rather than the string it contains

svn-id: r45504
2009-10-29 18:07:39 +00:00
Filippos Karapetis
6eea032245 Disable the "Delete" button for all versions of SQ4 floppy, and the "Change Directory" button for all games (English and non-English versions)
svn-id: r45503
2009-10-29 16:27:23 +00:00
Filippos Karapetis
caa5136b5c Automatically create memory.drv (the file containing the LSL5 password) for non-English versions of LSL5, so that the games don't abort if it can't be found.
svn-id: r45502
2009-10-29 16:05:24 +00:00
Filippos Karapetis
e5e80dd6d6 Fixed the deletion of save games - the wrong save game would be deleted with the previous code, as we sort the list by date
svn-id: r45499
2009-10-29 09:58:36 +00:00
Filippos Karapetis
c957d75fd0 Fix for bug #2874489 - "SCI: Larry 3 crashes at startup"
svn-id: r45169
2009-10-16 17:29:36 +00:00
Max Horn
2e964baeef Some const correctness changes; cleanup
svn-id: r44850
2009-10-09 21:47:33 +00:00
Max Horn
6ad5840181 SCI: Rename EngineState::segMan to _segMan
svn-id: r44629
2009-10-04 18:38:18 +00:00
Filippos Karapetis
30084d72a5 Added a new special reg_t, SIGNAL_REG, for signaling when an error occurs (usually), or to signal success in some special occasions
svn-id: r44505
2009-09-30 23:00:03 +00:00
Willem Jan Palenstijn
a5d1094dab SCI: Make kFile error messages slightly more verbose
svn-id: r44497
2009-09-30 19:44:03 +00:00
Filippos Karapetis
c76041d46d Fixed a crash in KQ1SCI, when the user types something wrong - the game tries to open a file with an empty file name, and an odd file mode
svn-id: r44491
2009-09-30 15:43:28 +00:00
Filippos Karapetis
f9296a6445 - Changed the unimplemented debug SCI kernel functions (InspectObj, ShowSends, ShowObjs, ShowFree, StackUsage and Profiler) to be dummy functions - we have our own debugger, and don't use these functions for debugging
- Removed the function number parameter from all kernel functions, as it's no longer needed, and removed the FAKE_FUNCT_NR hack
- Removed kUnknown() and kStub()
- Dummy/unknown kernel functions are no longer invoked, and a warning is shown instead, with the paremeters passed to them

Note: there is an evil hack used for debugging scripts in invoke_selector(), which probably no longer works now

svn-id: r44461
2009-09-29 14:24:07 +00:00
Willem Jan Palenstijn
bec07b42a0 SCI: Remove directory prefix added by QfG3's char import
svn-id: r44423
2009-09-27 21:52:14 +00:00
Willem Jan Palenstijn
8c8b996f56 SCI: Add workaround for file mask used by QfG3
svn-id: r44411
2009-09-27 16:33:59 +00:00
Willem Jan Palenstijn
d3c1916384 SCI: Major string handling update.
All string access to segments should now work with both raw and non-raw
(reg_t) segments, using the new utility functions in segMan.

There will likely be regressions.

svn-id: r44388
2009-09-27 01:50:26 +00:00
Willem Jan Palenstijn
f7d7140876 SCI: Ignore size argument to FILEIO_WRITE_STRING.
This matches LSL5's expectations when saving the password.

svn-id: r44385
2009-09-26 23:43:45 +00:00
Willem Jan Palenstijn
a49da8381b SCI: Fix copy/paste error
svn-id: r44382
2009-09-26 22:50:35 +00:00
Filippos Karapetis
180b3f1247 Create a define for the special "signal" offset used throughout the engine, and fixed the arbitrary 0 values from commit #44294, set when some math functions do invalid calculations
svn-id: r44359
2009-09-25 16:15:57 +00:00
Max Horn
2fe6b32968 SCI: Remove EngineState::game_version, it was only used for saving anyway. Also remove syncCStr()
svn-id: r44358
2009-09-25 13:02:11 +00:00