aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/object.cpp
AgeCommit message (Collapse)Author
2017-11-12DREAMWEB: Use accurate memory reclamation for Ex transfersColin Snover
When the Ex memory regions are close to full, it is possible for the game to fail to purge objects and then crash with an OOM error even if it isn't actually out of memory. This patch calculates the amount of free memory truly needed when allocating to Ex memory to allow exactly the entire frame & text regions to be used, instead previously where a hard-coded amount of free space to maintain was used, which guaranteed that the entire memory region could not actually be used by the game. This change may be masking some underlying memory leak, or it may just be that near the end of the game the game naturally comes close to reaching the maximum memory region size. For the moment, I am assuming the latter. This commit also adds some assertion checks to the memory transfer functions to make sure the regions don't quietly overflow in other cases, since pickupConts performs transfers in a manner that doesn't ensure enough free memory exists for them to be successful. Fixes Trac#6820.
2014-02-18DREAMWEB: Make GPL headers consistent in themselves.Johannes Schickel
2012-11-30DREAMWEB: Add some debugging output to emergencyPurgeWillem Jan Palenstijn
2012-11-30DREAMWEB: Make frame fixups more specific and add sanity checksWillem Jan Palenstijn
This should detect (and trigger asserts on) the kind of ex frame data corruption in bug #3591088.
2012-11-30DREAMWEB: Fix emergencyPurge checksWillem Jan Palenstijn
It could re-delete previously deleted objects, causing ex data (frame/text) corruption. This is the likely cause of bug #3591088. Asm conversion error from eaf87bdfa7ac279f736c03b25af94ac1df3b31ce.
2012-11-30DREAMWEB: Change various loop variables to uint, rather than size_t.D G Turner
This is partly for readability and partly to avoid any possible portability issues i.e. though they should be the same, size_t is defined by system headers, whereas uint is defined within our build system. Also, replaced a array size calculation with our ARRAYSIZE macro.
2012-11-30DREAMWEB: Migrate object/inventory related functions out of stubs.D G Turner
2012-11-30DREAMWEB: Remove dead code functions and minor formatting cleanup.D G Turner
2012-09-26JANITORIAL: Remove trailing whitespaces.Johannes Schickel
Powered by: git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-05-30DREAMWEB: Replaced vsync() function with waitForVSync().D G Turner
As a call to waitForVSync() was the only contents of vsync(), there should be no functional change.
2011-12-28DREAMWEB: Use ObjectType enums in more placesMax Horn
2011-12-28DREAMWEB: Added commandOnlyCond() methodMax Horn
2011-12-28DREAMWEB: Clean up checkCoordsWillem Jan Palenstijn
2011-12-28Merge pull request #154 from fingolfin/dreamweb-cleanupFilippos Karapetis
Dreamweb: Mark structs packed, minor tweaks
2011-12-28DREAMWEB: Clean up some constantsWillem Jan Palenstijn
2011-12-28DREAMWEB: Rename a member of SetObject & DynObject to objIdMax Horn
SetObject::name and DynObject::id are stored at the exact same offset, and have the exact same meaning (see also objectMatches()). Now they also have the same name, objId.
2011-12-28DREAMWEB: Rename getEitherAdCPP to getEitherAd, use obj type enumsMax Horn
2011-12-28DREAMWEB: Completely remove all of the runtime, and move everything into ↵Filippos Karapetis
DreamWebEngine Also, remove dead code (allocateMem/deallocateMem)
2011-12-28DREAMWEB: Move all saved variables to a GameVars structWillem Jan Palenstijn
The data segment is now completely unused.
2011-12-28DREAMWEB: Remove more global variablesFilippos Karapetis
2011-12-28DREAMWEB: Mass-move variables out of dataWillem Jan Palenstijn
This has been done by an automated search/replace, culling unused variables in the process. The remaining variables in data are all stored in savegames.
2011-12-27DREAMWEB: Convert room text into TextFilesWillem Jan Palenstijn
2011-12-27DREAMWEB: Convert exText into TextFileWillem Jan Palenstijn
2011-12-27DREAMWEB: Remove Extras segmentWillem Jan Palenstijn
2011-12-27DREAMWEB: Streamline graphics file accessWillem Jan Palenstijn
2011-12-27DREAMWEB: Move kQuitRequested out of data blob.D G Turner
2011-12-27DREAMWEB: Move all of the functions to DreamBase and remove stubs.hFilippos Karapetis
2011-12-27DREAMWEB: Move remaining use functions to DreamBaseWillem Jan Palenstijn
2011-12-26DREAMWEB: Move some functions to DreamBase, remove dead codeFilippos Karapetis
2011-12-26Revert "DREAMWEB: Remove dead code and move most functions to DreamBase"Filippos Karapetis
This reverts commit 4c66f74b58e9a2c191f22a37f485047dd19be131. These functions aren't ready to be moved yet till the remaining two are finished, and they're so crossreferenced that the safest thing to do is revert this commit and break it down to smaller chunks
2011-12-26DREAMWEB: Remove dead code and move most functions to DreamBaseFilippos Karapetis
2011-12-26DREAMWEB: Reduce dependency on globals and move functions to DreamBaseWillem Jan Palenstijn
2011-12-26DREAMWEB: Combine transferMap and transferInvWillem Jan Palenstijn
2011-12-26DREAMWEB: Convert pickupContsWillem Jan Palenstijn
2011-12-26DREAMWEB: Minor cleanupWillem Jan Palenstijn
2011-12-26DREAMWEB: Move openInvList, ryanInvList out of buffersWillem Jan Palenstijn
2011-12-26DREAMWEB: Fix regression in transferToExWillem Jan Palenstijn
2011-12-26DREAMWEB: Fix a regression in fillOpen() and remove the now unused ↵Filippos Karapetis
getOpenedSize()
2011-12-26DREAMWEB: Convert findAllOpen, fillOpenWillem Jan Palenstijn
2011-12-26DREAMWEB: Port 'transfertoex' to C++Filippos Karapetis
2011-12-26DREAMWEB: Cleanup identifyOb()Filippos Karapetis
2011-12-26DREAMWEB: Port 'findpathofpoint' to C++D G Turner
2011-12-25Merge pull request #153 from fingolfin/dreamweb-cleanupFilippos Karapetis
Dreamweb: Port rollEm() to C++, remove dead code
2011-12-26DREAMWEB: Cleaned up findFirstPath(), fixed a regression and moved it to ↵Filippos Karapetis
DreamBase
2011-12-26DREAMWEB: Rename workToScreenCPP to workToScreenMax Horn
2011-12-26DREAMWEB: Remove some dead codeMax Horn
2011-12-25DREAMWEB: Ported 'findfirstpath' to C++.D G Turner
This conversion could do with a bit more work to remove the es/ax/cx temp usage and clean up the code.
2011-12-25DREAMWEB: Port 'findopenpos' to C++Filippos Karapetis
2011-12-25DREAMWEB: Port 'purgeanitem' to C++, some cleanupFilippos Karapetis
2011-12-25DREAMWEB: Port 'outofopen' to C++Filippos Karapetis