This flag is removed for a few reasons:
* Engines universally set this flag to true for widths > 320,
which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
since its behaviour was almost completely undocumented and users
would need to figure out that they'd need an explicit non-default
scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
deciding how the backend may choose to render its virtual screen.
The choice of rendering behaviour belongs to the user, and the
backend, in that order.
A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
Engines should only have to call one set of functions and not decide between the two. In fact, the 'emulation' API was documented to just call the 'real CD' API.
In the original, a second SetHookScene call can validly occur due to first
placing the cover-switched book in the bookcase, and then by the thief
leaving if his arrival happens immediately.
Moved the creation of _midiMusic, _pcmMusic, _sound and _bmv from
the constructor to run(). It was reported on the forum that the
MT-32 emulator didn't work for Discworld, and I'm speculating that
this is because it was being initialized before the "extra path"
had been added to the search path.
It's likely that not all of these objects are needed for every
version of the game. Fixing that is left as an exercise for
someone more familiar with the different game versions than me.
This makes sure that the game path is only ever added once for the PSX version
of DW1. Most noticably this will make the warning about the game path being
present in SearchSet disappear on startup.
Call _bmv->FinishBMV() before setting g_pCurBgnd to NULL. Otherwise,
there will be an assertion if quitting during a cutscene while a
subtitle is being shown. (At least I think that's the condition.)
(Also, it seems to be a good idea to call it before EndScene(),
because even though there was no assertion, I got a lot of warnings
when I did it after.)
This is the second attempt. All the BE resources of DW1 Mac are
handled correctly now. Added READ_16, READ_32, FROM_16, FROM_32 and
TO_32 to handle all of the different cases where endianess is
already handled. Note that the game scripts are LE, so these
haven't been changed
This was added in commit 3fdddd53b2.
However, having handling for both BE and LE resource complicates
the engine code unnecessarily. Thus, a different approach will be
done.
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.