aboutsummaryrefslogtreecommitdiff
path: root/engines/sword1
AgeCommit message (Collapse)Author
2019-09-15SWORD1: Remove Fixed Sized Buffer Usage from Savegame Name CodeD G Turner
2018-12-10ENGINES: Normalize the getName() result of metaenginesBastien Bouclet
Also-By: Matthew Hoops <clone2727@gmail.com>
2018-05-10ENGINES: Remove usage of C++11 extended initializer listsBastien Bouclet
2018-05-10ENGINES: Merge GameDescriptor and DetectedGameBastien Bouclet
2018-05-10ENGINES: Set the GameDescriptor decription in the constructorBastien Bouclet
2018-05-10ENGINES: Change MetaEngine::listSupportedGames to return plain game descriptorsBastien Bouclet
2018-05-10ENGINES: Change MetaEngine::findGame to return a plain game descriptorBastien Bouclet
2018-05-10ENGINES: Add unknown game variants to the game detector resultsBastien Bouclet
2018-04-29ENGINES: Show the unknown Game dialog only when the detector is launched by ↵Lothar Serra Mari
the Add Game feature
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.