This reverts commit 0f85939bc5.
Embarrassingly, my benchmark code was broken. move16 very much does
help, both in VRAM<->TT RAM and TT RAM<->TT RAM copying.
- leftovers after highlighted dirty rectangle
- not updating _surface if moving to fast left/right from screen borders
(_width == _srcRect.width())
- not drawing cursor if repeatedly intersecting with a refreshing dirty
rect
- leftover rectangle when leaving game overlay to the launcher
- massive simplification
Follow your own advice from atari-cursor.h:
// Global state consists of:
// - palette (used for the overlay only atm)
// - shape (surface, dimensions, hotspot, keycolor)
// - visibility
// These always get updates by ScummVM, no need to differentiate between
engines and the overlay.
This also try to restore the SAF authorizations registered in the
backup.
With this, a user can wipe the application and reinstall it without too
much hassle.
For the statfs buffer used by detectAllDrives(), only allocate what is
needed, instead of an arbitrary value.
Calling getfsstat() a first time with a NULL pointer will return the
number of mounted file systems. We can then use that a allocate a
buffer at the right size for the next getfsstat() call.
It looks like we can then reasonably expect MNT_NOWAIT to be enough
for the second call that immediately follows...
Idea from criezy.
Allocate the `struct statfs` buffer on the heap instead of the stack,
fixing a -Wframe-larger-than warning.
Fix a -Wsign-compare warning with the GCC 32-bit builds.
Add a couple more headers for getfsstat(), as given by its manual page
(although it builds just fine without them).
On systems where dirent provides a `d_type` field, we currently fall
back to stat() only for DT_UNKNOWN values.
Do so for all unexpected `d_type` values instead (that is, anything
different from DT_DIR, DT_REG and DT_LNK).
This is because there's no guarantee that `d_type` will be meaningful
for all OSes and filesystems. One such example is macOS Tiger, where
`d_type` will hold bogus values for the .aiff files of cddafs mount
points (as triggered by MacOSXAudioCDManager). (This bug appears to
have been fixed in cddafs-242.0.1, around the Snow Leopard area.)
When using stat() over the same files, the proper file type is
returned, though. Hence the need for the stat() fallback to be
triggered in more cases than DT_UNKNOWN.
This fixes Indy3 FM-TOWNS music being silent on macOS Tiger, when
playing from the original CD.
This adds a new shortcut (Ctrl+R) which toggles the resizable state of
the window and allows the user to lock the window size and prevents
resizing.
Closes bug:15124.