Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The original interpreter only used english commands in the terminal
even when playing one of the localised version (and even though
everything else in the terminal was localised). This adds the possibility
to either use the English commands or the localised ones.
Localized commands have been added for French, German (thanks to
SimSaw, who also proposed that idea) and Italian (thanks to Maff).
|
|
|
|
|
|
Removed the buffer from being a global non-const variable. Also, the
code changes should allow the buffer size to be increased by just
changing the size of _keyBuffer if needed.
|
|
This improves readability and should help with dealing with changes
to fix bug #3590814 ("DREAMWEB: M key does not work in Network").
|
|
This is possible, since the game is freeware now. It is very
helpful when playing the game in order to avoid referring to the
manual. The extra help text is shown when the player uses the
'help' command inside the game terminal.
Also, the list of games where copy protection is skipped has been
reordered alphabetically in the README
|
|
Theoretically, it should be almost as big as _inputLine, so let's
make them the exact same size just for simplicity. This fixes crashes
for me when trying to use very long parameters to the monitor's READ
command, and could possibly fix a bug reported in the German version
where you supposedly have to read "kurzmitteilung".
|
|
|
|
This change should have no functional change, but makes the sound code
more decoupled, modular and readable, prior to attempting a fix for
bug #3528164 - "DREAMWEB: missing sound effects/music cues during main
title".
|
|
As a call to waitForVSync() was the only contents of vsync(), there
should be no functional change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This new variable removes the need for duplicates strings of the form
"DREAMWEB.*" spread throughout the dreamweb engine, replacing them with
a common const string on the engine holding the datafile name prefix.
This will reduce binary size and it should also simplify adding support
for foreign language variants, where the datafile name prefix is
changed.
To demostrate usage and prove this, showPCX() is migrated to using this.
|
|
ALL: Cleanup
|
|
This avoids extra memory usage due to the previous commit.
|
|
Instead, have a different variable for each use.
|
|
|
|
This is done by adding a (very ugly) way to force the previous timed-temp
line off screen, so the next one can be shown.
|
|
|
|
save/load dialogs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dreamweb: Mark structs packed, minor tweaks
|
|
This is quite useful for devices with limited storage, where the user
can use the CD version without its speech files
|
|
|
|
|
|
|
|
|
|
DreamWebEngine
Also, remove dead code (allocateMem/deallocateMem)
|
|
|
|
This information includes savegame versioning and the saved game's
date/time, played time and game thumbnail. This information is stored
into an unused data block of the original save format, so the
generated ScummVM saves are (hopefully) fully compatible with the
original ones and can be loaded in the original interpreter
|
|
|