incompatibility with some sierra games. Some games open a new menu, set mouse cursor within that menu and expect the mouse cursor to be in there and will close it, if it's outside. In case of Wiimote/touch interfaces this logic won't work of course. Fixes island of dr. brain and QfG1VGA on Wii and touch-interface platforms
svn-id: r52474
The problem that caused the crash in BS2 had to do with GCC making improper assumptions about our code. Specifically, the alignment trick we use for READ_UINT32/16 allows some targets(e.g. MIPS) to generate better code, but it also goes against ANSI C aliasing rules, which prohibit the sharing of addresses between a struct and another variable value. Using -fno-strict-aliasing tells GCC not to assume strict ANSI C aliasing and also unfortunately prevents it from making some good optimizations.
This change is probably needed for other platforms as well -- the crash on the PSP was simply a very rare coincidence.
svn-id: r52473
enable replacement of save/load dialogs per default
add config-var "sci_originalsaveload" for not replacing dialogs
add config-var "sci_dither" for enabling dithering in EGA games
new kDoBresen fix qfg2 walk against wall bug (#3053131) and hoyle3 unreadable dice bug (#3036922)
svn-id: r52467
Currently static strings are marked with the _s() macro so that xgettext knows
the string needs to be translated. But there was no way to tell xgettext that
the string could get translated in different contexts. This is the role of this new
macro.
svn-id: r52460
The TranslationManager in ScummVM will pick up the translation associated
to no context if present and if a translation could not be found for a specific
context. Based on this, the create_translations tool will now remove the
translation associated to a specific context if the same message has the
same translation associated to no context. This generate a smaller
translation.dat file, and this should also slightly improve performances (less
strings to load from the file and smaller list in which to look for a translated
message).
svn-id: r52459
updateScreen() itself skips redraws when called too frequently. With
the right timing and number of consecutive calls this can result in
missing gfx updates, so lets abuse pollEvent() to check for overdue
redraws.
svn-id: r52456
fixes qfg2 walking against wall, etc. BUT its currently disabled by default. You need to comment out the #define USE_OLD_BRESEN line in kmovement.cpp
svn-id: r52453
broke importing, also savedgames are named "qfg1.0xx", so they werent showed before anyway and ".sav" is not mandatory for exported character files.
svn-id: r52449
The original SCI games supported up to 12 characters for file names, thus we
use the file name returned as a mask to find the actual file, as we don't
wrap/unwrap save file names in these screens. If no files match, or if more
than 1 files match, throw a warning.
svn-id: r52437
SCI constantly invoked Engine::shouldQuit(), which in
turn called 2 virtual functions. This added a significant
overhead, as this was called constantly without any
throttling whatsoever. Now, the invocation of shouldQuit()
is throttled to be on each frame update (i.e. at a rate of
60fps). Thanks to wjp for profiling this.
svn-id: r52431
Now, QFG2, 3 and 4 may read exported characters from all
other QFG games, like the originals did. Fixes bug
#3054692 - "QFG2/QFG3 Import issues".
svn-id: r52430
If the translations.dat file is not found using the SearchMan, it now looks
for that file into the themepath directory and sub-directories (if the path is
defined).
svn-id: r52428