Commit graph

508 commits

Author SHA1 Message Date
Gemba
54ae1e623a Fixes the null selection for ROMs starting with Unicode or Umlauts
The null selection will then on confirming "Jump to ..." in the Gamelist Options menu crash ES (assertion failed)
2023-08-12 13:39:38 +02:00
Craig Hackney
17b5b0b884 Resolved compiler warnings using clang 14.0.0 on Ubuntu-22.04.3 2023-08-11 08:12:57 -07:00
Craig Hackney
f9542838c2 Updates to allow building on Ubuntu-22.04.2 with clang 2023-08-11 08:36:36 +01:00
pjft
30cbdeb7cd
Address screensaver video/audio not stopping on game launch
Recent reports of specific configurations or versions changing some of the event handling order, resulting in the screensaver video/audio not stopping when a game is launched from it.

Can't replicate on my end, but these changes should be harmless for the current setup, and should help with that scenario. To be fair, it should have been there from the get go - it's just pure luck that things worked until now, as the screensaver was being halted before this code would run.
2023-07-21 17:00:20 +01:00
pjft
4389185cfb
Merge pull request #811 from Gemba/fix_misplaced_cursor_on_lb_lr_paging
Fix misplaced cursor on LB/LR paging on specific conditions
2023-03-02 22:07:26 +00:00
Gemba
00577453d2 Squashed commit of the following:
commit 895e176c513ca1556c60c5c29c85bd43da3675e0
Author: Gemba <uid0@sdf-eu.org>
Date:   Fri Aug 5 13:37:44 2022 +0200

    Changes to allow rollover at gamelist edges instead of rolling back in 'slide' mode.

    Needs 'Transition Style' set to 'slide'.
    Needs 'Quick Navigation' in Gamelist view enabled.
2023-02-27 20:46:58 +01:00
Gemba
33fdbb2326 Fixes several cursor misplacements when full page scroll with LB/LR on.
Including fix for cursor highlighting in visible list area when game is launched from screensaver.

Squashed into one commit.
2023-02-18 14:00:48 +01:00
Jools Wills
0c4b42deac bump version to v2.12.0-dev 2022-09-18 18:01:54 +01:00
pjft
52c04d7786
Merge pull request #806 from sylt/fix-shutdown-crash
CollectionSystemManager: Fix possible crash in destructor
2022-08-27 21:37:38 +01:00
pjft
b5e1950500
Merge pull request #802 from cmitu/view-bulk-remove-2
ViewController: improves bulk removal of entries
2022-08-26 22:59:38 +01:00
Gemba
4ba672b7cd Fixes ES crash after boot on stale SDL joy add/remove events.
This happens whenever a joystick is remved during ES splashscreen. Putting the PR here after initial discussion in forum:

https://retropie.org.uk/forum/topic/33014/failed-assertion-on-connected-joysticks-terminates-emulationstation-on-specific-conditions
2022-08-22 19:11:53 +02:00
Richard Eklycke
dc96e7c29e CollectionSystemManager: Fix possible crash in destructor
This could happen if no mCustomCollectionsBundle was initialized.
2022-08-20 16:25:59 +02:00
cmitu
48ef225796 ViewController: improve bulk removal of entries
Added an extra parameter for the `remove` call, hinting that a refresh of the View is not desired.
This skips any `onFileChanged` event called at the end of `remove`, leaving it to the caller to explicitely call the `onFileChanged` method. The skip decreases the time spent in `remove`.

The sole usage - right now - is during the initial built-in collections creation, when the `recent` collection trimming can take a long time when it has >>50 entries.
2022-08-08 18:18:55 +01:00
cmitu
df9fa3bcab gamelists: remove scraped files when removing game
Remove thumbnail, video, image and marquee files for a game when the game file is removed. Check for shared assets when deleting the resources, just in case the scraped files are used in another gamelist, for another game.
2022-06-01 18:33:08 +03:00
Jools Wills
6451038d2b
Merge pull request #792 from cmitu/audio-changes
RPI support: split omxplayer build option
2022-05-22 20:40:01 +01:00
cmitu
6bb30ae3bb scrapers: platform updates
Added for scraping:
  * TI-99 (ScreenScraper, TheGamesDB)
  * Dragon32/64 (ScreenScraper)
2022-05-15 07:16:19 +01:00
cmitu
b99e8c21ba RPI support: add a separate omxplayer build option
Modified the build options and source files to enable `omxplayer` for video previews only when the `OMX` option is used.
Updated the build instructions on RPI accordingly and added some notes about the deprecation of the BRCM GPU drivers in RasPI OS 'Bullseye'.

Previously, the `RPI` build option would be used to add both RPI specific audio settings/VRAM limits AND add `omxplayer` support. However, `omxplayer` does not work with the RPI KMS video driver (`vc4-kms-v3d`) or with a 64bit RPI system, due to the lack of OpenMAX (OMX) API support.
The new RasPi OS ('bullseye') has made the KMS driver the default [1] and doesn't offer `omxplayer` anymore (considered deprecated [2]).

Splitting the OMX support from the RPI option allows to set some default values for RPI systems without automatically adding the `omxplayer` bits.

[1] https://www.raspberrypi.com/news/raspberry-pi-os-debian-bullseye/
[2] https://github.com/popcornmix/omxplayer/commit/1f1d0ccd65
2022-05-07 17:54:05 +01:00
cmitu
4e70a24928 fix wrong dialog title 2022-05-01 07:08:08 +01:00
pjft
e26fa8d48b
Merge pull request #784 from Gemba/fb_enhance_cli_help
Brooming of --help output
2022-04-24 22:07:37 +01:00
pjft
bdfa2e8274
Merge pull request #787 from Gemba/fb_paging_lb_rb_enhanced
Cursor movement more user friendly when using paging with full page.
2022-04-24 22:01:43 +01:00
pjft
b93b19b9c1
Merge pull request #786 from Gemba/fix_quicksys_select_scrolling
fixes continued scrolling on system leave and reenter navigation
2022-04-24 21:58:27 +01:00
cmitu
199b9556e4 SystemView: fix random system warp crash
When no Game system is visible, choosing a random system in the carousel will lead to a crash.
Added an extra check before the random shuffle is performed.
2022-04-20 16:19:19 +01:00
Gemba
feaf44afac restructured --help output, removed legacy --help output from README.md and
removed surplus SplashScreenProgress switch (always true).
2022-03-20 22:12:13 +01:00
Gemba
7589ced632 Cursor movement more user friendly when using paging with full page. 2022-03-05 10:42:14 +01:00
Gemba
69ee73c764 fixes continued scrolling on system leave and reenter navigation 2022-03-01 08:45:17 +01:00
Tomas Jakobsson
c7b3b42efc Skip isDirectory check on known directory paths 2022-02-08 10:19:00 +01:00
Tomas Jakobsson
1e23dc54f2 Merge branch 'master' into game-system-select-events 2022-02-01 16:50:38 +01:00
cmitu
d3917391aa scraper: teach ScreenScraper to use the user input
Fixed the ScreenScraper search by user input, since it only by searched by filename and ignored the user input for the game name.
2022-01-31 09:55:34 +02:00
pjft
f126353600 Fix navigating to parent when list is filtered 2022-01-25 21:18:39 +00:00
Tomas Jakobsson
495753abe6 Silence compiler warnings 2022-01-20 11:33:00 +01:00
EnsignRutherford
3cb84b0afd Added fully qualified path to game-select events and added game name to game-start event. 2022-01-19 11:12:57 -05:00
Tomas Jakobsson
d4eb62b62c
Merge pull request #766 from TheMasterWho/feature/ScreensaverSlideshowVideos
Feature: Slideshow screensaver video support
2022-01-19 13:26:57 +01:00
EnsignRutherford
f9213c7bd7
Update SystemScreenSaver.cpp
Removed reference to the profiling utility.
2022-01-17 11:36:18 -05:00
cmitu
d37d36b558 New scraping platforms.
Added:
 * Nintendo Switch (TGDB, ScreenScraper)
 * TIC 80 (ScreenScraper)
 * PICO-8 (ScreenScraper)
 * Sam Coupe (TGDB, ScreenScraper)
 * PC-FX (TGDB, ScreenScraper)
 * ZMachine (ScreenScraper)

Updated:
 * ZX81 Sinclair - added for TGDB
2021-12-20 13:43:39 +02:00
Jools Wills
b513c19c5b bump version to v2.11.0-dev 2021-10-31 19:28:55 +00:00
TheMasterWho
300828e445
Rename instances of image to media in SlideShow Screensaver mode
* renamed image to media and added setting rename function

* replaced references to 'image' with 'media' and removed hardcoded video extensions

* fixed a bug when checking a null path
2021-10-10 16:00:20 -04:00
Tomas Jakobsson
7639e28c4d Center the gamelist in the available textlist height 2021-09-27 18:07:26 +02:00
TheMasterWho
db2ce15f7a refactored video file test into dedicated method 2021-09-09 18:33:51 -04:00
TheMasterWho
8ac3bdd7da
Fixed preprocessor directive formatting 2021-09-07 20:07:56 -04:00
TheMasterWho
daaefa39bb changed file extension comparison to use a vector to allow easy additions 2021-09-07 17:48:40 -04:00
TheMasterWho
0b5e9a7cb3 refactored ScreenSaver startScreenSaver method to allow video files in slideshow mode 2021-09-06 23:11:42 -04:00
Gemba
ee89794993 Improved randomisation: card deck approach, use ranlux48 and random_device for seed
- Use C++11 built-in ranlux48 and random_device for seeding
- Shuffles systems (aso.) like a card deck and picks top system until empty, then shuffles again
- Fixes the flaws of the current random implementation: Real 1/N chance for an element in a set of N
- Minor refactorings
2021-07-13 11:42:22 +02:00
EnsignRutherford
c623100a40 Removed superfluous calls to the scripting engine for 'dim' and 'black' screensaver mode. 2021-06-17 16:07:42 -04:00
EnsignRutherford
7cdde12f3f Added "NULL" string to the parameters to the scripting if there are no games available. This allows the bash scripts to pick up this event and perform an action as opposed to not triggering the event. 2021-05-21 10:43:13 -04:00
pjft
584f741b8e
Merge pull request #745 from Gemba/fb_no_confirm_quit
CLI option --no-confirm-quit for skipping the confirm dialog on quit …
2021-05-21 07:44:47 +01:00
EnsignRutherford
72320b1cbe Added "NULL" string to the parameters to the scripting if there are no games available. This allows the bash scripts to pick up this event and perform an action as opposed to not triggering the event. 2021-05-20 08:35:22 -04:00
EnsignRutherford
077db00d59 Added an additional optional parameter to "Scripting" module and added code to fire an event when ES is configured to bring up a startup system. 2021-05-18 12:58:22 -04:00
EnsignRutherford
f6ae6e09c1 Changes necessary to implement Scripting events for "game-select", "system-select" and "screeensaver-game-select". 2021-05-17 11:29:14 -04:00
cmitu
fe650965a0 input: change how startup events are discarded
Use a different approach for discarding any queued input events during startup.
We want to make sure that when the UI is shown, there are no pending events that could
start a game/open the menu/switch system/etc.

The new code allows also to:
 * ignore input events during splashscreen
 * handle the case when a keyboard/keyboard type controller is used
 * allow the handling of SDL_JOYDEVICEADDED events (which were discarded with `SDL_JoystickEventState(SDL_DISABLE)
2021-05-16 07:24:41 +01:00
pjft
577c1df851
Merge pull request #716 from tomaz82/profiling
Adding ProfilingUtil
2021-05-07 14:51:43 +01:00