Commit graph

1831 commits

Author SHA1 Message Date
Bob Wilton
dec977ce00 Changed Ubuntu build workflow to a manual trigger 2023-08-07 22:30:43 -04:00
Bob Wilton
b2d41e84fd Fixed warning with finding RapidJSON package 2023-08-07 22:27:57 -04:00
Bob Wilton
b2203777a1 Fix to eliminate PkgConfig warning with WIN32 builds 2023-08-07 22:25:30 -04:00
Bob Wilton
236bb03fe7 Documented steps to build ES for WIN32 2023-08-07 22:23:11 -04:00
Bob Wilton
2846859508 Minimal changes required to compile ES for WIN32 2023-08-07 22:21:34 -04: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
Jools Wills
08d74d3345
Merge pull request #797 from cmitu/sdl-vendored-input
input: export additional info for joysticks inputs
2023-04-11 20:15:24 +01:00
pjft
9afa234f3c
Merge pull request #817 from Gemba/fb_reenable_backward_compatible_wrapping
Reenables backward compatible text wrapping for some themes
2023-03-23 10:03:49 +00:00
Gemba
955fe06086 Squashed commit of the following:
commit 5d07dac51f0ac77cb3771dc2a7c69677b882de00
Author: Gemba <uid0@sdf-eu.org>
Date:   Wed Mar 22 01:04:40 2023 +0100

    re-enable wrapping when fixed >0 y-size value of TextComponent is given
2023-03-22 01:14:58 +01:00
Gemba
cfc514bc8e Merge branch 'master' of https://github.com/Gemba/EmulationStation 2023-03-21 23:58:45 +01:00
pjft
70f737b5f0
Merge pull request #816 from Gemba/fix_optimize_textwrap_calls
Reduces callcount to TextComponent.onTextChanged()
2023-03-04 08:47:40 +00:00
Gemba
e44e0b7c3d reduce callcount to TextComponent.onTextChanged() 2023-03-03 20:39:24 +01:00
Gemba
e7558c8191 Merge branch 'master' of https://github.com/Gemba/EmulationStation 2023-03-03 19:12:24 +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
pjft
0a054f0ba1
Merge pull request #803 from Gemba/fix_short_desc_wordwrap
Make short descriptions wrap to next line instead of adding ellipsis.
2023-03-01 15:30:47 +00:00
Gemba
1c80f0ca5a Squashed commit of the following:
commit 47fc0c9edb95b08fccde01fd1778e3789f6e617a
Merge: 7f3bc53 5a3b907
Author: Gemba <uid0@sdf-eu.org>
Date:   Wed Mar 1 07:36:05 2023 +0100

    Merge branch 'master' of https://github.com/Gemba/EmulationStation into fix_short_desc_wordwrap

commit 5a3b9074e1
Merge: 34b2545 0057745
Author: pjft <pjft@users.noreply.github.com>
Date:   Mon Feb 27 20:01:05 2023 +0000

    Merge pull request #801 from Gemba/fix_ui_transition_style_slide_gamelistview_rollover

    UI Slide Mode: Changes to allow rollover left/right at gamelist-view edges

commit 00577453d2
Author: Gemba <uid0@sdf-eu.org>
Date:   Mon Feb 27 20:46:58 2023 +0100

    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.

commit 7f3bc5345577f6d0d6625bec6a40fa2468e0395d
Merge: be99449 b88f5ac
Author: Gemba <uid0@sdf-eu.org>
Date:   Sat Feb 18 16:11:23 2023 +0100

    Merge branch 'fix_short_desc_wordwrap' of https://github.com/Gemba/EmulationStation into fix_short_desc_wordwrap

commit b88f5acbc03955aa251cb87445bce1437a4abf06
Merge: 1eb0147 34b2545
Author: Gemba <Gemba@users.noreply.github.com>
Date:   Sat Feb 18 12:58:46 2023 +0100

    Merge branch 'RetroPie:master' into fix_short_desc_wordwrap

commit 1eb0147e24573e761f5a65ce7f46e2b055cb124c
Merge: 07002d6 0c4b42d
Author: Gemba <Gemba@users.noreply.github.com>
Date:   Sun Sep 25 14:31:36 2022 +0200

    Merge branch 'RetroPie:master' into fix_short_desc_wordwrap

commit 07002d61d5a1722588c2b34bee6783c01a7a9c18
Author: Gemba <uid0@sdf-eu.org>
Date:   Sat Aug 13 18:37:11 2022 +0200

    Make short descriptions wrap to next line instead of adding ellipsis.

    The ellipsis effect instead of wrapping to a new line had two causes:
    1. A short description ends slightly after the x-bounding value of the textcomponent (can happen in any theme).
    2. Themes with a linespacing with less than 1.2 (120% of highest character) get a wrong flag set for detecting if it is a multi line text. Carbon uses 1.5 linespacing by default thus this case never to carbon.

    Fixes:
    1. An additional clause in Font.cpp::wrapText() was added to fix this effect and to force wrapping instead of adding ellipsis.
    2. The evaluation of the variable isMultiline in TextComponent::onTextChanged() takes the actual linespacing for calculation instead of the "magic float" of 1.2.

    cf. https://retropie.org.uk/forum/topic/32893/very-short-descriptions-don-t-wrap

commit be9944921e47ebfa57acae8200d495f356774c2b
Author: Gemba <uid0@sdf-eu.org>
Date:   Sat Aug 13 18:37:11 2022 +0200

    Make short descriptions wrap to next line instead of adding ellipsis.

    This effect was agnostic to the theme in use. The ellipsis effect was most prevalent on short descriptions, but may also occour whenever the last line of a description shortly ends after the maximum width of the bounding box, overrunning the bounding box by upto two non whitespace characters.

    An additional clause in Font.cpp::wrapText() was added to fix this effect and to force wrapping instead of adding ellipsis.

    cf. https://retropie.org.uk/forum/topic/32893/very-short-descriptions-don-t-wrap
2023-03-01 07:46:02 +01:00
Gemba
797d2929aa Merge branch 'master' of https://github.com/Gemba/EmulationStation 2023-03-01 07:41:08 +01:00
Gemba
966b513c9c Squashed commit of the following:
commit 47fc0c9edb95b08fccde01fd1778e3789f6e617a
Merge: 7f3bc53 5a3b907
Author: Gemba <uid0@sdf-eu.org>
Date:   Wed Mar 1 07:36:05 2023 +0100

    Merge branch 'master' of https://github.com/Gemba/EmulationStation into fix_short_desc_wordwrap

commit 5a3b9074e1
Merge: 34b2545 0057745
Author: pjft <pjft@users.noreply.github.com>
Date:   Mon Feb 27 20:01:05 2023 +0000

    Merge pull request #801 from Gemba/fix_ui_transition_style_slide_gamelistview_rollover

    UI Slide Mode: Changes to allow rollover left/right at gamelist-view edges

commit 00577453d2
Author: Gemba <uid0@sdf-eu.org>
Date:   Mon Feb 27 20:46:58 2023 +0100

    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.

commit 7f3bc5345577f6d0d6625bec6a40fa2468e0395d
Merge: be99449 b88f5ac
Author: Gemba <uid0@sdf-eu.org>
Date:   Sat Feb 18 16:11:23 2023 +0100

    Merge branch 'fix_short_desc_wordwrap' of https://github.com/Gemba/EmulationStation into fix_short_desc_wordwrap

commit b88f5acbc03955aa251cb87445bce1437a4abf06
Merge: 1eb0147 34b2545
Author: Gemba <Gemba@users.noreply.github.com>
Date:   Sat Feb 18 12:58:46 2023 +0100

    Merge branch 'RetroPie:master' into fix_short_desc_wordwrap

commit 1eb0147e24573e761f5a65ce7f46e2b055cb124c
Merge: 07002d6 0c4b42d
Author: Gemba <Gemba@users.noreply.github.com>
Date:   Sun Sep 25 14:31:36 2022 +0200

    Merge branch 'RetroPie:master' into fix_short_desc_wordwrap

commit 07002d61d5a1722588c2b34bee6783c01a7a9c18
Author: Gemba <uid0@sdf-eu.org>
Date:   Sat Aug 13 18:37:11 2022 +0200

    Make short descriptions wrap to next line instead of adding ellipsis.

    The ellipsis effect instead of wrapping to a new line had two causes:
    1. A short description ends slightly after the x-bounding value of the textcomponent (can happen in any theme).
    2. Themes with a linespacing with less than 1.2 (120% of highest character) get a wrong flag set for detecting if it is a multi line text. Carbon uses 1.5 linespacing by default thus this case never to carbon.

    Fixes:
    1. An additional clause in Font.cpp::wrapText() was added to fix this effect and to force wrapping instead of adding ellipsis.
    2. The evaluation of the variable isMultiline in TextComponent::onTextChanged() takes the actual linespacing for calculation instead of the "magic float" of 1.2.

    cf. https://retropie.org.uk/forum/topic/32893/very-short-descriptions-don-t-wrap

commit be9944921e47ebfa57acae8200d495f356774c2b
Author: Gemba <uid0@sdf-eu.org>
Date:   Sat Aug 13 18:37:11 2022 +0200

    Make short descriptions wrap to next line instead of adding ellipsis.

    This effect was agnostic to the theme in use. The ellipsis effect was most prevalent on short descriptions, but may also occour whenever the last line of a description shortly ends after the maximum width of the bounding box, overrunning the bounding box by upto two non whitespace characters.

    An additional clause in Font.cpp::wrapText() was added to fix this effect and to force wrapping instead of adding ellipsis.

    cf. https://retropie.org.uk/forum/topic/32893/very-short-descriptions-don-t-wrap
2023-03-01 07:37:32 +01:00
pjft
5a3b9074e1
Merge pull request #801 from Gemba/fix_ui_transition_style_slide_gamelistview_rollover
UI Slide Mode: Changes to allow rollover left/right at gamelist-view edges
2023-02-27 20:01:05 +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
cmitu
9473f19c70 input: export additional info for joysticks inputs
Added some extra info to help RetroPie's auto-configuration scripts by exporting the joystick Vendor and Product IDs, which should help with RetroArch's joypad profile generation.

 Since 2.0.14, SDL's joystick name (`SDL_CreateJoystickName`) is a normalized version of the name reported by the OS (culled consecutive spaces, trimming trailing spaces, renaming known joystick names like Xbox/PS). This breaks the input auto-configuration scripts in RetroPie, which generate a config with new name, while the emulators/ports expect to find the OS reported name (e.g. RetroArch - see #3398 [1] for an example).

 This issue is affecting especially PC users, which are not using RetroPie's (old) SDL version and who's RetroArch configuration is incomplete.
Using the Vendor/Product ID would help these situations and support the new SDL versions when added to RetroPie.

[1] https://github.com/RetroPie/RetroPie-Setup/issues/3398
2022-12-22 05:04:03 +00:00
pjft
34b2545b0d
Merge pull request #815 from cmitu/input-vestige
input: remove useless XML node in the temporary output
2022-12-15 07:58:03 +00:00
cmitu
5bc3fba063 input: remove useless XML node in the temporary output
The `<inputAction>` node is useless for the temporary input configuration, so remove it.

Normally, because of the previous `reset` call of the parent document, it would be empty, but I've encountered situations when the memory is not cleared and there's (random binary) garbage added to the temporary configuration file. This results in a broken XML file and the auto-configuration scripts in RetroPie will all fail.
2022-12-15 06:32:57 +00:00
pjft
91d2789224
Merge pull request #813 from sylt/fix-memleaks
TextureData: Fix memory leak of svgImage
2022-12-05 14:37:33 +00:00
Richard Eklycke
5a6ff039c7 TextureData: Fix memory leak of svgImage 2022-12-04 23:29:44 +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
pjft
48b2db560a
Merge pull request #809 from Gemba/fix_num_joystick_assertion
Fixes ES crash after boot on stale SDL joy add/remove events.
2022-08-23 17:13:22 +01:00
pjft
2600ba9bf0
Merge pull request #807 from cmitu/get-the-time
timeutil: fix building with recent `gcc` versions.
2022-08-22 22:00:15 +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
pjft
1f756a9adf
Merge pull request #805 from sylt/master
FileSystemUtil: Update path cache when creating new directory
2022-08-22 08:10:31 +01:00
cmitu
5ba5498a62 timeutil: fix building with recent gcc versions.
Included `time.h` to get the declarations of `time_t` and `struct tm`.
Should fix building with `gcc` 12.x.
2022-08-20 17:04:51 +01: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
Richard Eklycke
3feff1c4dd FileSystemUtil: Update path cache when creating new directory
With this fix in place, emulationstation will start up correctly
when there is no ~/.emulationstation directory present.
2022-08-20 15:47:48 +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
Jools Wills
86a0823c46
Merge pull request #795 from gizmo98/opengl21
renderer: Add build option for OpenGL 2.1
2022-07-13 14:11:27 +01:00
Stefan
1b239144a1
renderer: Add build option for OpenGL 2.1
Add option USE_GL21 which can be activated with „-DUSE_GL21=On“. Use
OpenGL 1.4 by default for backward compatibility.
2022-06-12 12:20:22 +02:00
pjft
c11b9ec7d1
Merge pull request #794 from cmitu/del2-metadata
gamelists: remove scraped files when removing game
2022-06-02 09:18:28 +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
7e02b26215
Merge pull request #652 from hhromic/modernise-findsdl2
Modernise SDL2 CMake find module
2022-05-22 20:40:43 +01: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
pjft
3f47f0b2ad
Merge pull request #793 from cmitu/platform-updates
scrapers: platform updates
2022-05-20 07:55:09 +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
pjft
7e23edb43d
Merge pull request #790 from obrie/game-select-omx-freeze-alt
Fix race condition between Video component and Scripting events causing ES to freeze
2022-05-13 11:31:11 +01:00
Aaron Pfeifer
0d9cbb6e16 Fix VideoPlayerComponent not handling multiple child processes needed to be reaped when Scripting events are being fired 2022-05-12 21:00:11 -04: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
pjft
25971d2989
Merge pull request #791 from cmitu/fixup1
guis: fix wrong dialog title for video resolution
2022-05-02 08:49:18 +01:00
cmitu
4e70a24928 fix wrong dialog title 2022-05-01 07:08:08 +01:00