aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/neverhood.h
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.
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-04-14JANITORIAL: Reduce audio header dependenciesOri Avtalion
2014-02-18NEVERHOOD: Make GPL headers consisten in themselves.Johannes Schickel
2013-12-07NEVERHOOD: Add missing getDebugger() for engine API.D G Turner
2013-09-26NEVERHOOD: Add a patch system for broken resources in Russian versionsFilippos Karapetis
Some translated resources in Russian versions have incorrect unpacked resource sizes. The original didn't perform checks for these, but we do, thus we'll need to patch the unpacked resource sizes for each case
2013-09-17NEVERHOOD: Implement the music toggle menu buttonFilippos Karapetis
2013-07-14JANITORIAL: Remove trailing whitespaceSven Hesse
2013-06-28NEVERHOOD: Handle invalid save_slot more gracefully on startupTorbjörn Andersson
If the specificed savegame doesn't exist, start the game from the beginning. Before, it would just hang. The error handling is still quite primitive, though.
2013-06-26NEVERHOOD: Stop sound updates while the main menu is activeFilippos Karapetis
2013-06-09NEVERHOOD: Add a debug console, together with a command to change roomsFilippos Karapetis
2013-05-08NEVERHOOD: Add game-internal savegame delete menujohndoe123
- Rename Widget::addSprite to Widget::initialize
2013-05-08NEVERHOOD: Add support for loading/saving games with the game's own menujohndoe123
- Add LoadGameMenu class
2013-05-08NEVERHOOD: Merge CollisionMan into Scene classjohndoe123
2013-05-08NEVERHOOD: Remove obsolete _keyStatejohndoe123
2013-05-08NEVERHOOD: Add support for the demo versionjohndoe123
- Remove debug resource dumping code - Fix Scene1501 (pictures without sound weren't displayed/too fast) - Move main loop to mainLoop method
2013-05-08NEVERHOOD: Add saveload skeleton (doesn't actually do anything yet)johndoe123
2013-05-08NEVERHOOD: Clean up Module1000:johndoe123
- Rename stuff - Remove superfluous braces - Add a comment to the "which" code in each scene - Use a seperate _sceneNum instead of _vm->gameState().sceneNum - Remove code related to unused resource preloading and debug messages
2013-05-08NEVERHOOD: Implement the actual audio codejohndoe123
Sounds and music play now in some scenes (I didn't change the comments to code in all modules yet) - Fix calcHash to ignore non-alphanumeric characters, this fixes at least one animation glitch (when inserting tapes into the player) - Move SoundResource to sound.cpp
2013-05-08NEVERHOOD: Implement the SoundMan; no sound is played yet since the ↵johndoe123
important code doesn't exist yet
2013-05-08NEVERHOOD: Rename SetSpriteCallback to SetSpriteUpdatejohndoe123
- Started replace message numbers with constants - Add NRect::contains - Some cleanup
2013-05-08NEVERHOOD: Major renaming:johndoe123
- Give better names to animation callback functions/vars - Give better names to animation functions (previously known as subXXXX - not completed yet) - Add dumpAllResources (which is a lie, since it only dumps animations for now) - More renaming to come
2013-05-08NEVERHOOD: Implement Scene2208 (viewer for Hall Of Records text)johndoe123
- Implement Screen::drawSurface3 and Screen::drawUnk and move actual blitting code to Screen::blit
2013-05-08NEVERHOOD: Implement Scene1403, Scene1404 and Scene1405 (memory minigame)johndoe123
- Move GameModule::startup call into engine instead of the game module constructor - Reduce debug output
2013-05-08NEVERHOOD: Implement NavigationScenejohndoe123
- Work on the SmackerDecoder, create the surface immediately when a file is opened
2013-05-08NEVERHOOD: Start with Scene1002 (a lot incomplete)johndoe123
2013-05-08NEVERHOOD: Implement MouseCursorResource and Mouse433 mouse cursorjohndoe123
2013-05-08NEVERHOOD: Implement game varsjohndoe123
2013-05-08NEVERHOOD: More work on Scene1001, implement Class509 (yes, will be renamed ↵johndoe123
later) and AnimResource related stuff
2013-05-08NEVERHOOD: Start with the CollisionMan classjohndoe123
2013-05-08NEVERHOOD: Add StaticData classjohndoe123
2013-05-08NEVERHOOD: Add skeleton for Module1000johndoe123
- Add dummies for game variable access
2013-05-08NEVERHOOD: Start with the Screen class, alsojohndoe123
- Move common headers used in modules to module.h so they don't have to be explicitly #included in each module header - Clean up #includes
2013-05-08NEVERHOOD: More work on Module1500johndoe123
- Implement Scene1501 (with yet unimpelemented stuff commented out) - Add preliminary main loop to test stuff/updates - Add dummy SoundResource - And fix a mean bug/typo in some initializer lists... (The intro now "runs" but doesn't show anything yet since the actual display code and other classes are not yet implemented yet.)
2013-05-08NEVERHOOD: Add skeleton for Module1500 (the intro module)johndoe123
2013-05-08NEVERHOOD: Start with Module and GameModule classesjohndoe123
2013-05-08NEVERHOOD: Start with graphics code (bitmap parsing and rle decompression)johndoe123
2013-05-08NEVERHOOD: Start with the blb archive classjohndoe123
2013-05-08NEVERHOOD: First code with basic detection, nothing else so farjohndoe123