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.
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 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".
Currently, the usages associated with savegames have been omitted.
These will probably need a different prefix constant as it is likely
foreign variants still use "DREAMWEB.*" for savegames, while using
a different prefix for the datafiles. We may even migrate away from
this naming convention as this causes savegame collisions when multiple
language variants are present, which could cause issues.
The usages in the Room members of the constant g_roomData structure have
also been omitted, as the members are copied into the savegame format,
thus replacing these and fixing other accesses is not trivial.
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.
- Add TODOs for the CD checks in setupTimedTemp() and startTalk()
- The current doSomeTalk() is for the CD version only
- Implement a difference of the CD version in intro