Commit Graph
10206 Commits
Author SHA1 Message Date
Miro Kropacek 212dd1655f Revert "BACKENDS: ATARI: Remove move16 code"
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.
2025-04-25 23:27:19 +02:00
Miro Kropacek 84be8c5407 BACKENDS: ATARI: Update readme.txt.in 2025-04-20 21:42:36 +02:00
Miro Kropacek d2eae255a8 BACKENDS: ATARI: Fix crash with certain audio settings
E.g. 8195 Hz/2048 samples in KQ7 would lead to crash.
2025-04-20 21:33:15 +02:00
Miro Kropacek 5680536655 BACKENDS: ATARI: Additional fixes for cursor background
- 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
2025-04-20 21:33:15 +02:00
Miro Kropacek 4afb49840e BACKENDS: ATARI: Initialize overlay cursor properly
showOverlay() and therefore _screen[kOverlayBuffer]->reset() isn't
called explicitly on init.
2025-04-20 21:33:15 +02:00
Miro Kropacek 3eb17e58e3 BACKENDS: ATARI: Don't attempt direct rendering with unsupported engines
If sprites with implicit pitch % 16 == 0 are corrupted in single/triple
buffering, it doesn't make sense to try them unaligned in direct
rendering.
2025-04-20 21:33:15 +02:00
Miro Kropacek 564c503c3d BACKENDS: ATARI: Allow width non-divisible by 16 if not direct rendering
This fixes Phantasmagoria demo which uses 630x450.
2025-04-20 21:33:15 +02:00
Miro Kropacek cca60feaca BACKENDS: ATARI: Fix isOverlayDirectRendering()
When leaving the overlay, ConfMan.getActiveDomain() is already set. Use
OSystem::engineInit and OSystem::engineDone in your favour.
2025-04-20 21:33:15 +02:00
Miro Kropacek 3ab84a2cf9 BACKENDS: ATARI: Fix incorrectly restored cursor background 2025-04-20 21:33:15 +02:00
Miro Kropacek 6a919c04ab BACKENDS: ATARI: Cleanup usage of bitsPerPixel 2025-04-20 21:33:15 +02:00
Miro Kropacek e53fc61ceb BACKENDS: ATARI: Move g_unalignedPitch check into OSystem::engineInit() 2025-04-20 21:33:15 +02:00
Miro Kropacek bbc922a870 BACKENDS: ATARI: Fix invisible cursor in themed launcher
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.
2025-04-20 21:33:15 +02:00
Miro Kropacek d9006ee509 BACKENDS: STMIDI: Optimize sending of SysEx messages 2025-04-20 21:33:15 +02:00
Miro Kropacek c2310979b1 BACKENDS: ATARI: Fix packaging of symbols
The executable is now stripped so we have to take the original.
2025-04-20 21:33:15 +02:00
Le Philousophe 038a13b0f9 ANDROID: Allow users to backup and restore their configuration and saves
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.
2025-04-17 17:33:31 +02:00
Le Philousophe 97cf96532f ANDROID: Preserve entries order in Java INI parser
This will make sure every domain is always enumerated in the same order.
2025-04-17 17:33:31 +02:00
Le Philousophe b3531434d7 ANDROID: Improve selectWithNativeUI
Allow to specify a MIME type and a default file name.
Also use the proper Inten action to save a file.
2025-04-17 17:33:31 +02:00
Le Philousophe 37104bb601 ANDROID: Various SAFFSTree improvements
These new functions will be needed soon.
The loadSAFTrees function could be dangerous and should not be used from
outside SAFFSTree.
2025-04-17 17:33:31 +02:00
Le Philousophe bbfb504b69 ANDROID: Refactor virtual path resolution
Makes it available to other uses as this will avoid code duplication.
2025-04-17 17:33:31 +02:00
Le Philousophe e1391b03d2 ANDROID: Don't close the inner inflater stream
Closing it makes an error when trying to recycle the Inflater.
2025-04-17 17:33:31 +02:00
Le Philousophe ddfe04e035 ANDROID: Check API version before using EXTRA_INITIAL_URI 2025-04-17 17:33:31 +02:00
Le Philousophe 5356618bac ANDROID: Remove superfluous argument
As getNewSAFTree always returns a tree, asking for a file makes no
sense.
2025-04-17 17:33:31 +02:00
Donovan Watteau 39e24cac2e BACKENDS: MACOS: Use two getfsstat() calls instead of allocating a giant buffer
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.
2025-04-16 16:11:53 +02:00
Donovan Watteau febb29ee3b BACKENDS: MACOS: Fix various warnings in macosx-audiocd.cpp
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).
2025-04-16 16:11:53 +02:00
Michael Ball 8bebc6ff48 3DS: Fix top screen not fully rendering in some cases
When only the top screen is set to be used, the overlay must have a width of 400.
2025-04-15 08:15:10 +03:00
Matthew Jimenez 77ee5a9007 IMAGE: Get palette class by reference on image decoders 2025-04-12 15:47:17 +03:00
scemino 2aa2ec4454 BACKENDS: IMGUI: Fix imgui setup for opengl SDL 3D 2025-04-11 17:07:08 +02:00
Filippos Karapetis 379f6aae47 BACKENDS: Use C++ 11 range-based for loops 2025-04-06 02:01:28 +03:00
Giovanni Cascione 9d31b31c17 LIBRETRO: drop unsupported features flags 2025-04-05 20:21:50 +02:00
Daniel Nylander 93a4af58d9 I18N: Rename "se" to "sv", which is the correct Swedish language code 2025-03-30 22:19:13 +03:00
Giovanni Cascione b179e3bca0 LIBRETRO: update in-laucher playlist generator help 2025-03-30 10:42:33 +02:00
Giovanni Cascione 34c7bcb070 LIBRETRO: update README.md 2025-03-30 10:42:16 +02:00
Giovanni Cascione 5ef493824a LIBRETRO: JANITORIAL: fix typo 2025-03-30 10:41:59 +02:00
Giovanni Cascione 92597f2996 LIBRETRO: BUILD: drop third party db supported extensions 2025-03-30 10:41:43 +02:00
Giovanni Cascione 746cc04b8d LIBRETRO: add kFeatureShadersForGame flag 2025-03-30 10:41:25 +02:00
Giovanni Cascione 17e399b480 LIBRETRO: add kFeatureOpenGLForGame 2025-03-30 10:41:05 +02:00
Filippos Karapetis 3221471035 BACKENDS: Use pointers when deleting inside range loops 2025-03-27 13:47:57 +08:00
Filippos Karapetis ce51fd937f BACKENDS: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Donovan Watteau 858847e1ba BACKENDS: FS: Use stat() fallback for all unexpected dirent d_type values
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.
2025-03-26 11:50:53 +08:00
Donovan Watteau fb2500e16b BACKENDS: MACOS: Print a warning when no files are found in CDDAFS volumes
getChildren() may have succeeded but found no children at all, for some
reason. Properly print a warning in this case as well.
2025-03-26 11:50:53 +08:00
Giovanni Cascione 8e9d265d81 LIBRETRO: BUILD: re-enable MT32 by default 2025-03-09 00:33:33 +01:00
Giovanni Cascione f2be482cd0 LIBRETRO: BUILD: fix ctr defines 2025-02-23 17:08:47 +01:00
Giovanni Cascione efae51003f LIBRETRO: BUILD: disable opengl for osx 2025-02-23 17:08:31 +01:00
Giovanni Cascione 25a65e555b LIBRETRO: fix mapper_get_mapper_key_index loop 2025-02-23 17:08:11 +01:00
Le Philousophe f4c9ddf78a BACKENDS: SDL: Now fix build for older SDL... 2025-02-23 12:23:54 +01:00
Le Philousophe 42cfd6fbef BACKENDS: SDL: Fix build for SDL3 2025-02-23 09:23:47 +01:00
Le Philousophe 93d9504798 BACKENDS: SDL: Let the user prevent resizing of the window
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.
2025-02-23 01:10:03 +02:00
Le Philousophe 2d1b05bf17 BACKENDS: SDL: Fix sdlGetAttribute shim on SDL2
sdlGetAttribute returns true on success (like SDL_GL_GetAttribute on
SDL3), but SDL_GL_GetAttribute on SDL2 return 0 on success.
2025-02-22 10:57:49 +01:00
Le Philousophe 19f735adf7 BACKENDS: SURFACESDL: Fix memory leak
There was a copy paste error.
Also use the new shim instead of an ifdef to destroy the mouse surface.
2025-02-19 22:30:17 +01:00
scemino 8afb2c1f62 BACKENDS: Add SDL3 backend + update imgui 2025-02-18 22:13:56 +01:00