This also properly initializes _bIsValid for non-existent files.
For consistency, isWritable() is changed analogously to isReadable(),
even though it should not lead to changes in behaviour.
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.
This in fact slightly changes the priority order of added archives. Formerly,
all archives in SearchMan were preferred to the customly added ones in
ArchiveMan. All standard paths (i.e. path and extrapath) will be still be
searched before the custom ones (which are all priority 0 right now) but system
specific paths will be searched after (due to their priority being -1). Since
system specific paths shouldn't contain any game data files this should
hopefully be harmless.
This wasn't tested for games with CAB archives.
There might be various error flags and we need to clear all of them to get
precise error results. Thus, we need to call glGetError in a loop to achieve
that.
Formerly the taskbar support was *always* enabled except when the backend or
user specified that it should be disabled. This causes nasty crashes for
backends which do not have any taskbar support (like DC, Tizen and probably
more which simply did not disable it so far) when defaultErrorHandler was
called for example (Mass Add is also broken for those).
The SDL (and derived backends) worked around missing taskbar support by
simply faking a dummy taskbar implementation (but still claiming in configure
that we feature taskbar integration, ouch).
To avoid all non-SDL backends from manually specifying _taskbar=no I added
some auto detection code which simply only enables taskbar support in case
ScummVM is built on Win32 or libunity is present.
This changes makes ScummVM compilable with newer versions of DevKitPPC. ScummVM can be linked against the original libogc and libfat. That makes some newer WiiMotes work, improves audio-/video-playback and contains various improvements.
copyFrom frees and reallocates the surface for every update, as long
as the dimensions and format stay the same, we can do with just a
memcpy.
This gives a tiny improvement in the update-part of the Theora-player
(on the order of a bit more than 1 second saved total in the 1:28 long
J.U.L.I.A.-intro)
If we have only one thing being drawn, and that is opaque, we can
skip filling the render surface with background color.
This shaves another few wasted cycles of the FMV playback. (Since we
now don’t have to write the entire render surface TWICE).
This reduces the time spent in drawTickets() to ~60% of what it was before.