38 Commits

Author SHA1 Message Date
Adrian Frühwirth
00e59a3122 ALL: Load savegame thumbnail only when necessary
This commit introduces the following changes:

1. Graphics::loadThumbnail()

   Now returns a boolean and takes a new argument skipThumbnail which
   defaults to false. In case of true, loadThumbnail() reads past the
   thumbnail data in the input stream instead of actually loading the
   thumbnail. This simplifies savegame handling where, up until now,
   many engines always read the whole savegame metadata (including
   the thumbnail) and then threw away the thumbnail when not needed
   (which is in almost all cases, the most common exception being
   MetaEngine::querySaveMetaInfos() which is responsible for loading
   savegame metadata for displaying it in the GUI launcher.

2. readSavegameHeader()

   Engines which already implement such a method (name varies) now take
   a new argument skipThumbnail (default: true) which is passed
   through to loadThumbnail(). This means that the default case for
   readSavegameHeader() is now _not_ loading the thumbnail from a
   savegame and just reading past it. In those cases, e.g.
   querySaveMetaInfos(), where we actually are interested in loading
   the thumbnail readSavegameHeader() needs to explicitely be called
   with skipThumbnail == false.

   Engines whose readSavegameHeader() (name varies) already takes an
   argument loadThumbnail have been adapted to have a similar
   prototype and semantics.
   I.e. readSaveHeader(in, loadThumbnail, header) now is
   readSaveHeader(in, header, skipThumbnail).

3. Error handling

   Engines which previously did not check the return value of
   readSavegameHeader() (name varies) now do so ensuring that possibly
   broken savegames (be it a broken thumbnail or something else) don't
   make it into the GUI launcher list in the first place.
2018-04-07 09:26:20 +02:00
Eugene Sandulenko
33abb6118f ALL: Change main engine header guard defines to <directory>_<engine>_H
Recently we started to use this as new semantics, although in the past
we used simly <engine>_H. Now these guard defines are consistent with
rest of the files which are used in the engines.
2016-05-17 18:21:30 +02:00
Johannes Schickel
8b9afc9d92 TOLTECS: Make GPL headers consistent in themselves. 2014-02-18 02:39:39 +01:00
D G Turner
01365b62b9 TOLTECS: Add missing getDebugger() for engine API. 2013-12-07 02:28:42 +00:00
Filippos Karapetis
69da727c55 TOLTECS: Add a debug console 2013-01-02 20:02:29 +02:00
Johannes Schickel
89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Filippos Karapetis
a9a579891e TOLTECS: Open the save menu with F5 and the load menu with F9
Also, this changes the dialog skip key to space instead of escape
2012-09-11 00:34:27 +03:00
Filippos Karapetis
72cdd019fc TOLTECS: Implement volume handling and toggling of speech/text 2012-09-11 00:34:23 +03:00
Filippos Karapetis
0b4a022018 TOLTECS: Save music in saved games
Also, move all music resource related code into its own class
2011-11-24 00:03:01 +02:00
Filippos Karapetis
1eeb852902 TOLTECS: Remove empty implementation of syncSoundSettings() 2011-11-21 23:04:48 +02:00
Filippos Karapetis
8880c7c94c TOLTECS: Savegame changes
- Add support for savegame removal
- Remove kyra-specific code
- Add save play time and creation date
2011-11-21 22:29:44 +02:00
Filippos Karapetis
360bd6edd3 TOLTECS: Initial implementation for music 2011-11-20 22:43:12 +01:00
David Turner
c545a8b176 TOLTECS: Fix saveGameState signature to match Engine's virtual method. 2011-11-20 22:43:11 +01:00
David Turner
a3007d6e2a TOLTECS: Fix Compilation After Base Code Header Changes. 2011-11-20 22:43:10 +01:00
Benjamin Haisch
acd4d4098f TOLTECS: Fix bugs
- Save scene parameters before playing a movie and restore them afterwards (fixes crash)
- Fix text disappearing too fast
- Implement script function sfGetCameraChanged
- Replace nop script functions with stubs which print debug info when called
- Some cleanup, remove obsolete TODOs
2011-11-20 22:43:10 +01:00
Filippos Karapetis
e1abe47fbe TOLTECS: Reduced header dependencies and removed a TODO 2011-11-20 22:43:10 +01:00
Filippos Karapetis
7746fbc543 TOLTECS: Reduced header dependencies 2011-11-20 22:43:10 +01:00
Filippos Karapetis
d3811422f8 TOLTECS: Fixed compilation and reduced header dependencies a bit 2011-11-20 22:43:10 +01:00
Benjamin Haisch
1cb95f36e7 TOLTECS: - More work on the menu system, saving and loading from there is now possible
- Add blastSprite method which draws a sprite directly to the frontScreen without the renderQueue
- Add F10 scancode in sfHandleInput to open the menu
2011-11-20 22:43:10 +01:00
Benjamin Haisch
9698127c5d TOLTECS: - Undef menu test code (oops)
- Rename updateScreen to drawScreen
- Move code from sfUpdateScreen to engine updateScreen
- Use better screen sync code to get closer to the original game's speed
2011-11-20 22:43:10 +01:00
Benjamin Haisch
ce7f9a088c TOLTECS: - Work on the menu system (use strings from resources instead of hardcoded ones)
- ...and load the system strings from the resource on startup
- Only redraw menu screen when required
- Change parameters for some text functions from byte* to const byte*
- Rename some mouse vars
2011-11-20 22:43:10 +01:00
Benjamin Haisch
2acf1bf6f5 TOLTECS: - Hopefully fixed a bug in findRectAtPoint which causes the game to crash before the first scene
- sfHandleInput
2011-11-20 22:43:09 +01:00
Benjamin Haisch
34eb899b25 TOLTECS: Fixed compilation 2011-11-20 22:43:09 +01:00
Filippos Karapetis
89a5208a58 TOLTECS: Fixed compilation with the latest trunk changes.
This change also unveiled a serious problem: the same include files are used EVERYWHERE (e.g. code manipulating the screen is using sound includes). Added a FIXME concerning this
2011-11-20 22:43:09 +01:00
Benjamin Haisch
28c74ff3b4 TOLTECS: More work on the menu; started with the saveload menu page and fixed some early bugs 2011-11-20 22:43:08 +01:00
Benjamin Haisch
9a84c13bef TOLTECS: - Implemented playSoundAtPos and fixed sound panning (0 is center, not 64 like in the original)
- Minor cleanup
2011-11-20 22:43:08 +01:00
Filippos Karapetis
edefa37a45 TOLTECS: Fixed compilation 2011-11-20 22:43:07 +01:00
Benjamin Haisch
2eb6482b06 TOLTECS: - Fixed compilation after Fingolfin's latest series of commits
- Added a warning for the yet unimplemented palette transparency code
- Removed "debug" calls from script, they weren't that useful
- Removed unneccessary delete in the MoviePlayer
- Fixed the renderer (hopefully?)
2011-11-20 22:43:07 +01:00
Benjamin Haisch
1f4764ad1c TOLTECS: - Implemented RTL
- Fixed return values in savegame/loadgame
- Some minor cleanup
2011-11-20 22:43:07 +01:00
Benjamin Haisch
9e78b5d393 TOLTECS: - Listing savestates via command line or Launcher
- Loading/Saving during run time
Other savestate functions yet todo.
I'll probably remove the "original" in-game menu and move everything to the GMM.
2011-11-20 22:43:07 +01:00
Benjamin Haisch
4b13982116 TOLTECS: Implemented preliminary sound playback; some stuff is still missing (correct volumes etc.) 2011-11-20 22:43:07 +01:00
Benjamin Haisch
7b97e8cd93 TOLTECS: A lot of changes in the graphics code:
- Optimized drawing code; now only items (sprites, text, screen masks) which have changed from the previous frame are redrawn, this speeds up things a lot
- Implemented dirty rectangles using a microtile array
- The previously committed Microtile Array implementation from SEL seemed buggy so I wrote my own version which works nicely so far (and is less code and GPL), only MicroTileArray::getRectangles uses parts from the old version, this will be changed later
- One known bug related to dirty rectangles remains: Sometimes the background isn't restored correctly and gfx artifacts are visible
2011-11-20 22:43:06 +01:00
Benjamin Haisch
3b89304dd9 TOLTECS: Forgot script.cpp.
And some tests for menu & movie player in toltecs.cpp.
2011-11-20 22:43:06 +01:00
Benjamin Haisch
74c05f6aa8 TOLTECS: - Merged input.cpp with toltecs.cpp
- Kernel function 5 returns a random value; use ScummVM's RNG
2011-11-20 22:43:05 +01:00
Benjamin Haisch
f0c9e489fe TOLTECS: Minor cleanup. 2011-11-20 22:43:05 +01:00
Benjamin Haisch
dd5567613f TOLTECS: - Renamed stuff and cleanups
- Beginnings of the saveload system (incomplete)
2011-11-20 22:43:05 +01:00
Benjamin Haisch
f4e156b3b3 TOLTECS: Fixed tabs and formatting. 2011-11-20 22:43:05 +01:00
Eugene Sandulenko
7c2835313e TOLTECS: Initial checkin 2011-11-20 22:43:05 +01:00