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).
This fixes bug #3590814.
The case for KP0-KP9 can probably be removed as it should be
handled by the case above. But I don't have a keyboard with
keypad to test. So I am leaving it for now.
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 eaf87bdfa7.
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.
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 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".
Using Ryan's watch within the game, the watch time always started at
19.30 from point of use, which did not seem correct.
Checking with the original CD and Floppy interpreters under DOSBox
showed they used the current system time, so this was incorrect.
Bisection shows that this regression was introduced by commit
57e940f678 i.e. "DREAMWEB: Move all saved
variables to a GameVars struct" and was probably a side effect of a
minor call ordering change in the equivalent of setupInitialVars()
with respect to the getTime() call.
However, to ensure no further regressions, it was easier to fix this
by replacing the initial value setting by a getTime() call.
This reduces the code duplication in all client code, which formerly duplicated
the querying of the plugin, game id etc. and now simply calls the newly added
method runModalWithCurrentTarget() on a SaveLoadChooser object.
We already pass the title and process button name to the constructor of
SaveLoadChooser and then do not offer any way of changing it, thus changing
the edit mode of the chooser is kind of pointless and was never actually used.
Instead we pass the mode on SaveLoadChooser construction now.
This fixes bug #3531635 - "DREAMWEB: doors don't play "open" sound when
opening".
In addition, the resultant code is simpler and should better match the
original behaviour and a basic playtest has not shown any regressions.
This should fix bug #3528164 "DREAMWEB: missing sound
effects/music cues during main title" by preventing repeated calls
of SFX id 12 being lost if the next call is made before the sound
handler has cleared the previous one.
This commit removes various temporary debugging output, cleans up
some points of formatting and replaces some hexadecimal sizes and
offsets with decimal for readability.
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".
The removed blocks in the playChannel<n> functions referencing index are
non-functional leftovers from more complex logic in the original code
structure, and thus can be safely removed.
This code is intended as temporary debugging code to aid investigation
of bug #3528164 - "DREAMWEB: missing sound effects/music cues during
main title" and can be removed once this bug is fixed.
As this version has identical dreamweb.r00 and r02 files to the
international floppy release, have added the executable to clarify
between the two versions.
Fixes bug #3526483 - "DREAMWEB: No speech playing in CD version"