aboutsummaryrefslogtreecommitdiff
path: root/engines/sword1
AgeCommit message (Collapse)Author
2018-04-07ALL: Load savegame thumbnail only when necessaryAdrian Frühwirth
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.
2017-11-10SWORD1: Fix use of deallocated stack memoryColin Snover
FSNode::getName returns a String object, not a reference, so the pointer from c_str is valid only until the end of the statement.
2017-10-07ENGINES: Remove default1x scaler flagColin Snover
This flag is removed for a few reasons: * Engines universally set this flag to true for widths > 320, which made it redundant everywhere; * This flag functioned primarily as a "force 1x scaler" flag, since its behaviour was almost completely undocumented and users would need to figure out that they'd need an explicit non-default scaler set to get a scaler to operate at widths > 320; * (Most importantly) engines should not be in the business of deciding how the backend may choose to render its virtual screen. The choice of rendering behaviour belongs to the user, and the backend, in that order. A nearby future commit restores the default1x scaler behaviour in the SDL backend code for the moment, but in the future it is my hope that there will be a better configuration UI to allow users to specify how they want scaling to work for high resolutions.
2017-09-22SWORD1: Fix leaking the save thumbnail MemoryWriteStreamDynamic bufferBastien Bouclet
2017-08-11JANITORIAL: Fix GCC7 fall through warningsEugene Sandulenko
2017-08-06SWORD1: Silence GCC warning about potential overflowTorbjörn Andersson
Probably doesn't ever happen, but now 'fileName' is as large as it needs to be if 'label' is as long as it can be.
2017-07-12SWORD1: Specify list of available languages in detection codeThierry Crozat
This way only those languages are listed in the language selector for the game settings.
2017-07-08SWORD1: Only write config in in-game menu when they are changedThierry Crozat
The in-game menu contains not only subtitles and volume settings, but also load and save game options. Every time the menu was opened it would write the subtitles and audio volumes to the ConfMan resulting in toggling on overriding global options for this game, which was a but strange when it was previously using global options and we only wanted to load a game. So now the settings are written to ConfMan from the in-game menu only when they are actually changed.
2017-07-08SWORD1: Use booleans for _systemVars speech and subtitles flagsThierry Crozat
The were defined as uint8 and the code was inconsistent in the way they were handled, for example setting them to 1 in some places and to true in others. It was working but relying on implicit conversions both ways between 1 and true.
2017-07-08SWORD1: Add thumbnail when saving from game panelThierry Crozat
This fixes bug #9908 SWORD1: Picture previews black when saving in game
2016-11-29ALL: save file => saved gameBen Castricum
2016-09-18ALL: Homogeneize use of 'saved game' in messagesThierry Crozat
2016-06-06SWORD1: Improve detection of speech data endianness for mac versionThierry Crozat
Before trying an heuristic on the decoded data it simply checks if we get the expected resource size after decompression. When using the wrong endianness this is unlikely to be the case.
2016-05-17ALL: Change main engine header guard defines to <directory>_<engine>_HEugene Sandulenko
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-14SWORD1: Remove redundant check.Eugene Sandulenko
We're doing assert() in the same function.
2016-04-14JANITORIAL: Reduce audio header dependenciesOri Avtalion
2016-04-14JANITORIAL: Reduce GUI header dependenciesOri Avtalion
2016-03-08ENGINES: Make variable names of PlainGameDescriptor conform to our guidelines.Johannes Schickel
gameid -> gameId
2016-03-05CONFIGURE: Introduced new engine dependency: highresEugene Sandulenko
Some backends like GCW0 do no support graphics >320x240 due to the hardware limitation (downscaling is possible but it will ruin the pixel hunting which is often part of the gameplay). Instead of manually updating the list of engines, we now introduce a new dependency. I marked all relevant engines, but some, like tinsel, require more work with putting their relevant high-res games under USE_HIGHRES define.
2016-02-25SWORD1: Let listSaves return list sorted on slot numbers.Johannes Schickel
2016-02-15JANITORIAL: Typos detected with lintian & grepAlexandre Detiste
2016-01-26SWORD1: Only request actual save slots in listSaves.Johannes Schickel
2014-10-28SWORD1: Remove trailing whitespaceFilippos Karapetis
2014-10-04SWORD1: Update list of files that contain translatable stringsThierry Crozat
2014-09-13SWORD1: Add missing update of screen parameters when loading game from GMMThierry Crozat
This fixes bug #6728 (crash when loading game from GMM in bull's head scene). I am not sure the call to Logic::Engine is necessary, but that way the same sequence of calls is done when restoring a game from the original GUI and when restoring from GMM.
2014-09-10SWORD1: Avoid possible division by zero in speech endianness heuristicThierry Crozat
2014-09-08I18N: Really fix speech endianness heuristic on big endian systemThierry Crozat
The previous commit was wrong because the endianness does not only impact the data sample values but also the way the speech is uncompressed.
2014-09-08SWORD1: Fix speech endianness heuristic on big endian systemsThierry Crozat
This should fix bug #6720.
2014-09-07SWORD1: Add debugger command to set mac speech endiannessThierry Crozat
2014-09-07SWORD1: Fix typo in commentThierry Crozat
2014-09-07SWORD1: Silence some GCC warnings.unknown
Signed/unsigned comparison.
2014-09-05SWORD1: Improve speech endianess detection in mac versionThierry Crozat
Because of the way the speech is compressed with duplicate samples being stored with a negative size and a single value, when reading the data with the wrong endianess we can end up with a lot of duplicate samples which biased the result with the way the old heuristic was coded. Hopefully this change to skip duplicate samples will make it more robust.
2014-09-05SWORD1: Fix heuristic to determine the endianess of the speech in mac versionThierry Crozat
Because the data is compressed (a repeated sample is coded as a negative length followed by the value), when the length is read with the wrong endianess we get completely wrong data. So to get the BE data we cannot just read them assuming LE and byteswap afterward.
2014-08-22SWORD1: Change "no DXA support" message.Ben Castricum
It's "without zlib" or "without DXA support". WJP prefers the first.
2014-07-05SWORD1: Tweak MPEG-2 cutscenes error messageThierry Crozat
Beside making the message slightly better imho, it is also now identical to the same message in BS2 and also more coherent with the DXA message.
2014-02-19SWORD1: Some British to American EnglishStrangerke
2014-02-18SWORD1: Make GPL headers consistent in themselves.Johannes Schickel
2014-02-16SWORD1: Janitorial - Remove trailing spacesStrangerke
2013-11-24BUILD: Remove need for engine.mk in each engine directory.D G Turner
Each engine now only has to provide a single configure.engine file adding the engine into the configure script, which then produces the required other files automatically.
2013-11-24BUILD: Remove need for engine-plugin.h in engines.D G Turner
This is now generated automatically by the configure script from the engine directory names.
2013-11-24BUILD: Split engines/plugins_table header down to a file per engine.D G Turner
This is the third and final commit enabling fully pluggable engines. Now providing an engine folder contains a configure.engine, engine.mk and engine-plugin.h file, it will be picked up automatically by the configure script.
2013-11-24BUILD: Split engines.mk down to a single file per engine.D G Turner
This is the second part of allowing engines to be added dynamically. Each folder in engines/ which must contain a file named "engine.mk" containing the make definitions for that engine.
2013-11-24BUILD: Split configure.engines down to a single file per engine.D G Turner
This is the first part of allowing engines to be added dynamically. They are placed into a folder in engines/ which must contain a file named "configure.engine" to add the engine, which is pulled into the top level configure script automatically.
2013-11-20Revert "SWORD1: Let the XA audio use its own looping"Matthew Hoops
This reverts commit 481a5e0e7c65674728eb31694a787723166a72ae. Turns out that not all the sounds have the built-in loop flag, such as the piano in the Hotel Ubu.
2013-10-30SWORD1: Fix unitialized variables. CID 1002991Eugene Sandulenko
2013-10-30SWORD1: Fix unitialized variables. CID 1002989Eugene Sandulenko
2013-08-12I18N: Move specification of engine specific files to enginedir/POTFILES.Johannes Schickel
This allows to keep the engines to specfiy the files for translation close to the engine sources itself. Thanks to criezy for his suggestion on this approach.
2013-08-03SWORD1: Take advantage of Surface::getPixels.Johannes Schickel
2013-08-03SWORD1: Prefer getBasePtr over direct Surface::pixels access.Johannes Schickel
2013-06-20SWORD1: Add back MPEG-2 video supportMatthew Hoops