aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
AgeCommit message (Collapse)Author
2018-05-01FULLPIPE: Remove useless AD includeBastien Bouclet
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.
2018-03-28FULLPIPE: Remove unneeded variableEugene Sandulenko
2018-03-26FULLPIPE: fix #10321 "Hardlock when stepping onto stool"dm33tri
Scene 22 now doesn't freeze when pulling lever with stool under it
2018-03-24FULLPIPE: Fix playtime not being read from savegamesAdrian Frühwirth
Fixes Trac#10394.
2018-03-24FULLPIPE: Use zero playtime when filling dummy headerAdrian Frühwirth
This is a tad more meaningful than a random value, especially should we for some reason use dummy header information to actually set playtime in the future.
2017-12-08FULLPIPE: Load gameobj.hEugene Sandulenko
2017-12-08FULLPIPE: Added debug output for GameObjectEugene Sandulenko
2017-12-08FULLPIPE: Better debug output for movementEugene Sandulenko
2017-12-08FULLPIPE: More debug output to loadingEugene Sandulenko
2017-12-03FULLPIPE: Renames in ExCommandEugene Sandulenko
2017-12-03FULLPIPE: Added more debug output to the class loadingEugene Sandulenko
2017-12-02FULLPIPE: Fix bug #10317: Save game metadata is missingEugene Sandulenko
2017-12-01FULLPIPE: Fix bug #10325: New game does not put back already picked up itemsEugene Sandulenko
2017-12-01FULLPIPE: Fix bug #9673: Unable to move after loading a save from the title ↵Eugene Sandulenko
screen
2017-12-01FULLPIPE: Fix bug #9672: "Several inventory items highlighted at the same time"Eugene Sandulenko
2017-11-27FULLPIPE: Properly cleanup menu after quittingEugene Sandulenko
2017-11-27FULLPIPE: Attempt to crash when calling paletteless scenesEugene Sandulenko
2017-11-26FULLPIPE: Fix out of bounds string accessBastien Bouclet
abe1c65d626a8f3 changed _trackName from a char * to a Common::String, but still tried to access the null terminator byte.
2017-11-26FULLPIPE: Fix handleInteraction for non static ani objectsBastien Bouclet
cce851d1af introduced a check to allow only static ani objects. However after this change, only part of the pipes for vertical movement were interactive. This change aims to restore functionality for the other object types while still preventing the invalid casts.
2017-11-21FULLPIPE: Fix big picture array indexingBastien Bouclet
Fixes #10322.
2017-11-20FULLPIPE: Fix loading inventory items from savesBastien Bouclet
In C++ the function parameter evaluation order is undefined. The count property was being read first from the stream, instead of the itemId. Fixes #10324.
2017-11-18FULLPIPE: Fix memory leaks restoring save gamesColin Snover
2017-11-18FULLPIPE: Fix memory leaks of arcade keysColin Snover
Fixes Trac#9657.
2017-11-18FULLPIPE: Remove manual memory management and fix in-game save/loadColin Snover
2017-11-18FULLPIPE: Fix use-after-free in ModalMainMenuColin Snover
Pointers to objects which are invalidated when the scene gets unloaded may continue to be accessed if a mouse hover event is dispatched to the ModalMainMenu.
2017-11-18FULLPIPE: Fix memory leaks of MessageQueues when clearing GlobalMessageQueueListColin Snover
2017-11-18FULLPIPE: Make list item ownership comments more consistentColin Snover
2017-11-18FULLPIPE: Fix leaks of ExCommands loaded from an archiveColin Snover
Nearly every construction of an ExCommand in the engine sets flag 2 of _excFlags. It may even be that the remaining ones that don't are themselves bugs. This flag is needed in order for an ExCommand to be cleaned up when its parent MessageQueue is deleted.
2017-11-18FULLPIPE: Remove unnecessary member array clear in destructorColin Snover
2017-11-18FULLPIPE: Fix leaks of MessageQueuesColin Snover
2017-11-18FULLPIPE: Fix memory leaks of InteractionsColin Snover
2017-11-18FULLPIPE: Fix memory leaks of PreloadItemsColin Snover
2017-11-18FULLPIPE: Remove manual memory management of use listColin Snover
2017-11-18FULLPIPE: Fix memory leaks of InventoryPoolItemColin Snover
2017-11-18FULLPIPE: Fix leaks of DynamicPhasesColin Snover
I am not entirely sure this is a correct fix for these leaks; there is still the issue of the last member of _dynamicPhases being invalidated and not removed sometime before the destruction of Movement. Also, some of the items in this array are not actually owned by Movement so deleting them will cause double-frees or use-after-frees. It may be the case that a second list should be maintained instead containing only the objects that are created internally within Movement. Further testing will tell for sure.
2017-11-18FULLPIPE: Fix memory leaks of MctlItems in MctlCompoundColin Snover
2017-11-18FULLPIPE: Clarify ownership of DynamicPhase::_exCommandColin Snover
2017-11-18FULLPIPE: Clarify ownership of pointer arrays in StaticANIObjectColin Snover
2017-11-18FULLPIPE: Fix memory leaks in PictureObject, BackgroundColin Snover
2017-11-18FULLPIPE: Use flag enumColin Snover
2017-11-18FULLPIPE: Fix memory leak of graph nodes and listsColin Snover
2017-11-18FULLPIPE: Remove unnecessary constructorsColin Snover
These appear to be default member-wise copy constructors or POD constructors that zero all members. I suspect that quite a few pointer-taking constructors are actually supposed to be copy-constructors but since they don't all just do default member-wise copies I do not feel confident in changing them without verifying that there are not separate copy constructors in the disassembly, and I don't have the database for this game.
2017-11-18FULLPIPE: Fix memory leaks, ownership issues with various point listsColin Snover
2017-11-18FULLPIPE: Disable some unused code pathsColin Snover
2017-11-18FULLPIPE: Annotate ownership rule of MfcArchive::readClassColin Snover
2017-11-18FULLPIPE: Fix memory leaks and unnecessary indirect allocations in Motion ↵Colin Snover
and Sc2
2017-11-18FULLPIPE: Fix memory leak of global message queuesColin Snover
2017-11-18FULLPIPE: Fix memory leaks in ModalMainMenuColin Snover
2017-11-18FULLPIPE: Remove unnecessary and unsafe C-style castsColin Snover